表单标签内容为:-
<form method="post" action="<?php echo $_SERVER['PHP_SELF'] ;?>" >
按钮标签内容是:-
<input type="submit" id="submit_button" value="Submit">
j-query 函数是
$('#submit_button').click(function ()
{
alert("button clicked");
buildingVal = $("#building").val();
levelVal = $("#level").val();
data = 'building=' + buildingVal.val() + 'level=' + levelVal.val();
$.ajax(
{
url: "res.php",
type: "POST",
data: data,
success: function (data) {
}
});
return false;
});
页面正在重新加载,文本框和下拉菜单中的数据正在消失。
但是如果我在 jquery 中只有这段代码:-
$('#submit_button').click(function ()
{
alert("button clicked");
return false;
});
然后页面不会重新加载并且值保持不变。
请问您能告诉我如何防止页面重新加载吗?
此外,在 ajax 调用中,我将调用一个页面 res.php,它将返回一个表,
代码是什么
success: function (data) {
}
请帮忙...
编辑:
我使用代码将数据传递到 res.php 页面
data = 'building=' + buildingVal.val() + 'level=' + levelVal.val();
然后使用将其传递到页面
$.ajax(
{
url: "res.php",
type: "POST",
data: data,
success: function (data) {
$('#npc').html(data);
}
});
在res.php页面
如何从传递的单个值中提取两个值
我尝试使用以下代码
$building = mysql_real_escape_string($_GET['building']);
$level = mysql_real_escape_string($_GET['level']);
但是没用...
最佳答案
您的 jQuery 代码有错误:
错误:
buildingVal = $("#building").val();
levelVal = $("#level").val();
data = 'building=' + buildingVal.val() + 'level=' + levelVal.val();
解决方案:
buildingVal = $("#building");
levelVal = $("#level");
data = 'building=' + buildingVal.val() + '&level=' + levelVal.val();
完整代码js:
$('#submit_button').click(function () {
var
buildingVal = $("#building"),
levelVal = $("#level"),
data = 'building=' + buildingVal.val() + '&level=' + levelVal.val();
$.ajax({
'url': 'res.php',
'type': 'POST',
'data': data,
'success': function (data) {
}
});
return false;
});
编辑
如果您打算使用此表单通过ajax发送数据,最好的方法是取消“提交”表单事件:
HTML:
<form id="myform" method="post" action="<?php echo $_SERVER['PHP_SELF'] ;?>" >
...
</form>
JS:
$('#myform').bind('submit', function(event) {
return false;
});
$('#submit_button').bind('click', function () {
var
buildingVal = $("#building"),
levelVal = $("#level"),
data = 'building=' + buildingVal.val() + 'level=' + levelVal.val();
$.ajax({
'url': 'res.php',
'type': 'POST',
'data': data,
'success': function (data) {
}
});
});
关于php - 单击提交按钮时防止页面重新加载并调用 jquery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12214624/