大家好!
目的是让用户能够在每对模拟整个季后赛中选出获胜者。一旦他进行了模拟,底部就会出现一个表格:
我无法开始工作的是表单不仅要传递 Imie
/Email
字段(这很容易),而且要传递整个括号以便我可以检查发送的括号并进行比较。
我听说 ajax
在这种情况下会有很大帮助,所以我根据我在网上找到的一些信息编写了这个脚本(我是 ajax 的新手):
$(document).ready(function() {
$('form').submit(function(event) {
var data = {
'name' : $('input[name=name]').val(),
'email' : $('input[name=email]').val(),
'formularz' : $('#formdiv').val()
};
$.ajax({
type : 'POST',
url : 'process.php',
data : data,
dataType : 'json',
encode : true
})
.done(function(data) {
console.log(data);
});
event.preventDefault();
});
});
Process.php
如下所示:
<?php
$errors = array();
$data = array();
if (empty($_POST['name']))
$errors['name'] = 'Imie jest wymagane.';
if (empty($_POST['email']))
$errors['email'] = 'Email jest wymagany.';
if (empty($_POST['formularz']))
$errors['formularz'] = 'Uzupełnij formularz.';
if ( ! empty($errors)) {
$data['success'] = false;
$data['errors'] = $errors;
} else {
var imie = data.name;
alert(imie);
$data['success'] = true;
$data['message'] = 'Success!';
}
echo json_encode($data);
根据 ajax 代码,我假设我应该获取带有表单数据的 console.log,但没有日志。表单数据是否可能因为存储的大 div 而导致失败?
如有任何帮助,我们将不胜感激!
这是完整代码和 HTML 的链接:
html代码示例:
<div id="formdiv">
<div class="col-cell">
<div class="row" id="team1">
<?php
$team1 = "SELECT id, timestamp, teamname, teamtag FROM teams WHERE id = '1'";
$result = mysqli_query($con, $team1);
if (mysqli_num_rows($result) == 0) {
echo '<div class="team-block">';
echo '<img src="img/basketball.png"/>';
echo '<div class="team-tag">';
echo "<h2>---</h2>";
echo '</div></div>';
}
else
{;
while(list($id, $timestamp, $teamname, $teamtag) = mysqli_fetch_row($result))
{
$idfromsql = "SELECT * FROM teams WHERE id = $id";
$sthi = $con->query($idfromsql);
$imgresult = mysqli_fetch_array($sthi);
echo '<div class="team-block">';
echo '<div id="team111"><img src="data:image/jpeg;base64,'.base64_encode( $imgresult['data'] ).'"/></div>';
echo '<div class="team-tag">';
echo "<h2>$teamtag</h2>";
echo '</div></div>';
}
};
?>
<div class="numleft">1</div>
</div>
<div class="row" id="team2">
<?php
$team2 = "SELECT id, timestamp, teamname, teamtag FROM teams WHERE id = '2'";
$result = mysqli_query($con, $team2);
if (mysqli_num_rows($result) == 0) {
echo '<div class="team-block">';
echo '<img src="img/basketball.png"/>';
echo '<div class="team-tag">';
echo "<h2>---</h2>";
echo '</div></div>';
}
else
{;
while(list($id, $timestamp, $teamname, $teamtag) = mysqli_fetch_row($result))
{
$idfromsql = "SELECT * FROM teams WHERE id = $id";
$sthi = $con->query($idfromsql);
$imgresult = mysqli_fetch_array($sthi);
echo '<div class="team-block" onclick="adv1();">';
echo '<div id="team211"><img src="data:image/jpeg;base64,'.base64_encode( $imgresult['data'] ).'"/></div>';
echo '<div class="team-tag">';
echo "<h2>$teamtag</h2>";
echo '</div></div>';
}
};
?>
</div>
</div>
</div>
最佳答案
var data = {
'name' : $('input[name=name]').val(),
'email' : $('input[name=email]').val(),
'formularz' : $('#formdiv').val()
};
formularz 是空的,因为 .val() 函数只对输入字段有效。 如果您确实要传输完整的 div,请使用 .html() 或 .text()。
更简单的方法,根据所做的解决方案使用隐藏的输入。
关于javascript - HTML/PHP/JS/MYSQL -- 如何通过表单将相当大的 DIV 内容传递给 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43350373/