我从一些教程网站获得了表单提交的jquery代码,但我认为ajax无法正常工作。当我提交表格时,它什么都没发生。我尝试了一切但没有结果。
这是我的jquery代码。
$("#summary").submit(function (event) {
event.preventDefault();
var name = $("#name").val();
var address = $("#address").val();
var landline_number = $("#landline_number").val();
var mobile_number = $("#mobile_number").val();
var profile_email = $("#profile_email").val();
var profile_statement = $("#profile_statement").val();
var dataString = 'name='+name+'&address='+address+'&landline_number=' + landline_number + '&profile_email=' + profile_email + '&prof ile_statement=' + profile_statement + '&mobile_number=' + mobile_number;
$.ajax({
type: 'POST',
data: dataString,
url: 'test2.php',
success: function (data) {
$('#hello').html(data);
}
});
});
Html代码
<form name="summary" id="summary" action="" method="POST">
<div class="profile-header">
<table width="740">
<tr>
<td>
<h2>Personal Detail:</h2>
</td>
<td>
<input type="text" id="name" name="name" />
</td>
</tr>
</table>
</div>
<div class="profile-table-hide">
<table width="740">
<tr>
<td width="297"><p>Address Location</p></td>
<td width="10" class="divider"></td>
<td width="428"><input id="address" type="text" name="address" /></td>
</tr>
<tr>
<td><p>Landline Number</p></td>
<td class="divider"> </td>
<td><input type="text" id="landline_number" name="landline_number" /></td>
</tr>
<tr>
<td><p>Mobile Number</p></td>
<td class="divider"></td>
<td><input type="text" id="mobile_number" name="mobile_number" /></td>
</tr>
<tr>
<td><p>Email Address</p></td>
<td class="divider"> </td>
<td><input type="text" id="profile_email" name="profile_email" /></td>
</tr>
<tr>
<td><p>Personal Statement</p></td>
<td class="divider"> </td>
<td><textarea id="profile_statement" name="profile_statement"></textarea></td>
</tr>
<tr>
<td></td>
<td class="divider"> </td>
<td><input type="button" id="save1" value="Save" name="save1" /></td>
</tr>
</table>
</div>
</form>
Php文件
$sql = "INSERT INTO `profile_detail` (`ref`,`p_name`,`p_mob`,`landline_number`,`p_email`,`p_add`,`p_statement`) VALUES
('$user_app_id','".$_POST['name']."','".$_POST['mobile_number']."','".$_POST['landline_number']."',
'".$_POST['profile_email']."','".$_POST['address']."','".$_POST['profile_statement']."') ";
if (mysql_query($sql)) {
echo "<script>window.top.location='index'</script>";
}
else {
echo mysql_error();
}
答案 0 :(得分:3)
单击带有type =“button”的输入元素将不会提交表单。您需要将其更改为type =“submit”。
<td><input type="submit" id="save1" value="Save" name="save1" /></td>
答案 1 :(得分:0)
尝试使用serializeArray()
发布您的数据
$.ajax({
type: 'POST',
data: $('#summary').serializeArray()
url: 'test2.php',
success: function (data) {
$('#hello').html(data);
}
});
答案 2 :(得分:0)
我认为您的问题是您正在运行file://协议中的代码。像.php这样的服务器脚本需要http:// protocol。
为了运行它,请查看Apache并尝试运行该服务器。对于Linux,您应该将文件放入/ var / www,但对于其他操作系统,我不确定。
祝你好运!
答案 3 :(得分:0)
你的代码有两个错误
第一次改变
1.<input type="button" id="save1" value="Save" name="save1" />
to
<input type="submit" id="save1" value="Save" name="save1" />
和第二
$('#hello').html(data);
我无法在你的表单中看到任何问候ID,所以请点亮
<div id="hello"></div>
由于