任何人都可以帮我调试这个简单的功能。 我正在使用onclick事件来提交表单。它将$ id参数传递给函数。
<input type='Submit' name='Submit' id="Submit" value='Add' class='btn btn-success' onclick="PostForm(<?php echo $id; ?>)">
问题出现在:if(response == 2)的响应中。 (编辑:实际上我注意到我没有收到resposne,但是自动刷新用GET参数填充了URL栏)
在Chrome浏览器中,页面会使用location.reload()重新加载。 但是,在Firefox / IE中,它将参数传递给URL栏,例如..url / 500?id = 500 $ other_field = 1000,而不是重新加载页面。
实现这一目标的浏览器之间可能存在什么问题?该函数只调用一个本地.py脚本,因此不会发生跨域的任何事情。
<script>
function PostForm($id) {
var isValidForm = $("#form_id").valid(); //checks form is valid
if (!isValidForm) {
return false;
}
else {
var id= $id; //store id
$('.btn').attr("disabled", true); //disable buttons
//waiting popup code
$.blockUI({ css: {
border: 'none',
padding: '25px',
backgroundColor: '#111111',
'-webkit-border-radius': '10px',
'-moz-border-radius': '10px',
opacity: .5,
color: '#fff'
} });
$.ajax({
type: 'POST',
url: 'xxx.php',
data: $('#form_id').serialize(),
success:function(response) {
if(response == 1) {
alert("Script executed successfully.");
window.location.href = "/xxx/" + id;
}
else if(response == 2) {
alert("Script failed to execute");
location.reload();
}
}
});
} //end else
} //end function