以下是 HTML 部分,可能在表单语句中可能出错(不确定):
<div id='data'></div>
<form action="">
<input type="text" name="nomeInput" value="" />
</form>
以下是 javascript 部分:
$(document).ready(function(){
$.post("testeBasico_1.php", {nomeInput : $('#nomeInput').val()}, function(resposta) {
for (var x = 0, tamanhoDados = resposta.dados.length; x < tamanhoDados; x++){
$('#data').append(resposta.dados[x]+'<br>');
}
//issue line
$('#data').append('<br />'+resposta.venhoDoInput);
}, "json");
});
这是 php 部分:
$response = (object) array(
'success' => TRUE,
'dados' => array("1", "2", "3"),
'venhoDoInput' => $_POST['nomeInput']
);
echo json_encode($response);
当我尝试这个时,无论输入字段是否被填充,我都会在'venhoDoInput'上得到null。
我在这里缺少什么? (它应该是非常基本的东西),我只是希望通过了解,我可以更好地理解那些邪恶的代码行。
提前多多感谢,
注意: 如果我在服务器端脚本上转储($ _ POST ['nomeInput'],我什么都没显示...... 这可能是因为我正在使用js将这些数据显示到浏览器中。 而且我不太确定如何调试服务器端...:s
答案 0 :(得分:2)
您正在使用ID选择器,但您尝试选择的元素没有设置ID。将属性id =“nomeInput”添加到输入。
编辑: 您的代码将在页面加载时提交表单。为了让它在实际表单提交时提交,您需要将其包装为表单的提交监听器。
HTML:
<div id='data'></div>
<form action="" id="myForm">
<input type="text" name="nomeInput" value="" />
</form>
jQuery的:
$(document).ready(function(){
$('#myForm').submit(function() {
$.post("testeBasico_1.php", {nomeInput : $('#nomeInput').val()}, function(resposta) {
for (var x = 0, tamanhoDados = resposta.dados.length; x < tamanhoDados; x++) {
$('#data').append(resposta.dados[x]+'<br>');
}
//issue line
$('#data').append('<br />'+resposta.venhoDoInput);
}, "json");
return false;
}
});