我遇到了这种奇怪的情况,我的表单不发送任何数据,但显示了页面(仅应在发送数据时显示)。
我现在有这个代码:
[..]
if(form == true){
var gender = $("input[@name='rgender']:checked").val();
var data = "name="+$("#name").val()+"&gender="+gender+"&country="+$("#country").val()+"&address="+$("#address").val()+"&zip="+$("#zip").val()+"&city="+$("#city").val()+"&mail="+$("#mail").val()+"&phone="+$("#phone").val()+"&checkin="+$("#checkin").val()+"&guests="+$("#guests").val()+"&time="+$("#time").val()+"&nights="+$("#nights").val()+"&remarks="+$("#remarks").val();
$.ajax({
url: "http://www.domain.nl/tmp/process.php",
type: "GET",
data: data,
cache: false,
success: function(){
$("#content").empty();
$("#content").load('http://www.domain.nl/tmp/process.php');
}
});
f.preventDefault();
}
[..]
我之前用 alert()
检查了数据字符串,并且运行良好
我的 php 文件看起来像这样,但我没有得到任何值
<code><?php
echo("GET: ".$_GET['name']);
?</code>>
最佳答案
也许这会有所帮助:
success: function(result){
$("#content").html(result);
}
在您的代码中,您正在发送 2 个 ajax 请求。首先使用 $.ajax 和一些 GET 参数,然后使用 $().load,但不带任何参数。 所以实际上你可以将代码简化为:
if(form == true){
var gender = $("input[@name='rgender']:checked").val();
var data = "name="+$("#name").val()+"&gender="+gender+"&country="+$("#country").val()+"&address="+$("#address").val()+"&zip="+$("#zip").val()+"&city="+$("#city").val()+"&mail="+$("#mail").val()+"&phone="+$("#phone").val()+"&checkin="+$("#checkin").val()+"&guests="+$("#guests").val()+"&time="+$("#time").val()+"&nights="+$("#nights").val()+"&remarks="+$("#remarks").val();
$("#content").load('http://www.cherrytrees.nl/tmp/process.php', data);
f.preventDefault();
}
关于javascript - jQuery 表单不发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3736176/