请问,有人可以针对我的问题发布错误修正和测试代码吗? 程序确实 - 22.php有形式。当用户输入并单击“提交”按钮时,结果应取自23.php并显示在22.php的div中
我已经尝试过以下解决方案,但没有一个能解决我的问题;
1)我改为:$(“#testform”)。submit(function(event){
2)我包括“return false;”最后,以防止它实际提交表单并重新加载页面。
3)清除我的浏览器缓存
我可以看到计算机上的程序发生了什么;
1)点击提交后,我没有收到错误消息。
2)我可以看到页面的标签快速重新加载,输入的文本字段被清除。
3)没有错误信息或结果显示。
<html>
<head>
<title>My first PHP page</title>
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$(document).ready(function() {
$("#btn").click(function(event){
event.preventDefault();
var myname = $("#name").val();
var myage = $("#age").val();
yourData ='myname='+myname+'&myage='+myage;
$.ajax({
type:'POST',
data:yourData,//Without serialized
url: '23.php',
success:function(data) {
if(data){
$('#testform')[0].reset();//reset the form
$('#result').val(data);
alert('Submitted');
}else{
return false;
}
};
});
});
});
</script>
</head>
<body>
<form method="post" id="testform">
Name:
<input type="text" name="name" id="name" />Age:
<input type="text" name="age" id="age" />
<input type="submit" name="submit" id="btn" />
</form>
<div id='result'></div>
</body>
</html>
<?php
if ( isset($_POST['name']) ) { // was the form submitted?
echo "Welcome ". $_POST["name"] . "<br>";
echo "You are ". $_POST["age"] . "years old<br>";
}
&GT;
答案 0 :(得分:2)
您正在发送myname
并在php中检查name
(isset($_POST['name']
)。
请勿使用.value()
使用.html()进行数据呈现。和控制台记录数据,并使用firebug查看最新的请求和响应。
你能试试这个吗?
待更改
var yourData ='name='+myname+'&age='+myage; // php is expecting name and age
和
$('#result').html(data); // here html()
代码变为
$(document).ready(function() {
$("#btn").click(function(event){
event.preventDefault();
var myname = $("#name").val();
var myage = $("#age").val();
var yourData ='name='+myname+'&age='+myage; // php is expecting name and age
$.ajax({
type:'POST',
data:yourData,//Without serialized
url: '23.php',
success:function(data) {
if(data){
$('#testform')[0].reset();//reset the form
$('#result').html(data); // here html()
alert('Submitted');
}else{
return false;
}
}
});
});
});
答案 1 :(得分:2)
您不需要更改您的PHP代码 尝试使用提交活动提交表单...
example2
你的php
applicationDidFinishLaunching
现在你成功的功能
$("#testform").submit(function(event){
use `dataType:json`; in your ajax ..
yourData =$(this).serialize();
答案 2 :(得分:1)
尝试在ajax函数中格式化这样的帖子数据。
$.ajax({
type:'POST',
data : {
myname: myname
myage: myage
}
...
}
修改强>
尝试删除
中的;
return false;
}
};
到
return false;
}
}
答案 3 :(得分:1)
您可以在两端更改ajax和php:
您可以检查myname
和myage
而不是name
和age
的正确发布数据。
<?php
if ( isset($_POST['myname'])) { // was the form submitted?
echo "Welcome ". $_POST["myname"] . "<br>";
echo "You are ". $_POST["myage"] . "years old<br>";
}
?>
或@Ajax:
yourData ='name='+myname+'&age='+myage;
//--------^^^^^^----------^^^^----change these to work without changing php
注意到#result
是一个div元素。因此,您不能使用.val()
,而是使用.html(), .append()
等:
$('#result').html(data);