我有一张表格
onclick确认,我需要将其指向特定网址
function submitdata() {
if(confirm("Are You Sure You Want To Proceed?")) {
location.replace("http://www.w3schools.com");
} else {
alert("Cancelling");
}
}
</script>
提交此表单后,将调用submitdata()。
然后我收到警报。
但是我的表格没有被重定向
<form id="registration_form" action="" method="post" onsubmit="return submitdata();">
<div id="state"></div>
<div class="reg-id">
<label>
<input placeholder="State:" type="text" tabindex="3" name="user_state" id="reg_state" value="">
</label>
</div>
<div class="reg-id">
<label>
<input placeholder="City:" type="text" tabindex="3" name="user_city" id="reg_city" value="">
</label>
</div>
<div class="reg-id-last">
<label>
<input placeholder="Zip/Postal:" type="text" tabindex="3" name="user_zip" id="reg_zip" value="">
</label>
</div>
<input type="submit" value="Response" tabindex="3" name="reg_btn" id="id-submit">
</div>
</form>
答案 0 :(得分:2)
if(confirm("Are You Sure You Want To Proceed?")) {
return true;
location.replace("http://www.w3schools.com");
}
return
从周围的函数返回。什么都不会被执行。你需要交换这两行。
答案 1 :(得分:0)
我明白了
$("#place").change(function(){
if($(this)[0].checkValidity()) // <<<< check for validity of the DOM element, thats why we use [0]
{
$('#book-modal').modal(); // if so run the modal window
}
});
答案 2 :(得分:-1)
如果您希望表单实际提交到该位置,则表单数据将不会与该重定向一起发送。您可以通过将action
标记的form
属性设置为所需的网址,并将表单提交事件更改为以下内容来提交数据:
function submitData(event) {
if(confirm('Are you sure you want to proceed?') == false){
event.preventDefault();
return false;
}
}
因此,当用户点击“确定”时,不是重定向,如果用户没有点击“确定”,您基本上只需取消表单提交。
如果你不想提交数据,那么你只需要移动你的return语句,就像melpomene建议的那样。
注意:我总是同时写event.preventDefault()
和return false;
,但我认为通常只有return false;
才能正常工作。但是,比抱歉更安全:)