html代码:
<section class="main">
<form class="form-4" name="form4" id="form4" method="POST">
<p class="submit">
<button type="submit" name="submit" onclick="show()"><i class="icon-thumbs-up icon-large"></i></button>
</p>
</form>
</section>
js code:
function show(){
$.ajax({
type: "POST",
url: "check_login_points.php",
data: {test : JSON.stringify(arr)},
success: function(data) {
if(data == 0)
{
alert(" SORRY :( \n misplaced cue points.");
}
else if(data == 1)
{
document.getElementById("form4").action = "http://localhost/profile_book/login_key.php";
//alert("WELCOME !!!");
//$("#form4").attr('action', 'http://localhost/profile_book/login_key.php');
}
else if(data == 2)
{
alert("enter cue-points");
}
}
});
}
当ajax函数成功时,我试图在javascript中放置表单操作。但表单行动似乎不起作用。建议非常感谢。提前谢谢!
答案 0 :(得分:3)
你不能做你想做的事,因为异步性。它需要分解成多个部分。
首先,将按钮重命名为其他内容。你会遇到问题。
<button type="submit" name="btnSubmit" />
第二次使用jQuery绑定表单提交,而不是内联事件。
$("#form4").on("submit", function(event) {
//cancel the submission
event.preventDefault();
//call your logic
show();
});
现在最后一件事是在设置操作后手动触发提交。
function show (){
$.ajax({
type: "POST",
url: "check_login_points.php",
data: {test : JSON.stringify(arr)},
success: function(data) {
if(data == 0) {
alert("SORRY :( \n misplaced cue points.");
} else if(data == 1) {
$("#form4").attr("action", "http://localhost/profile_book/login_key.php")[0].submit();
} else if(data == 2) {
alert("enter cue-points");
}
}
});
}
答案 1 :(得分:0)
在这里走出困境。假设你真的只是问为什么表单没有提交,在这种情况下它是因为你错过了表单提交:
var form = document.getElementById("form4");
form.action = "http://localhost/profile_book/login_key.php";
form.submit()