[英]javascript Redirect submitted form after clicking ok in the alert box
我有一个表格
onclick确认,我需要将其定向到特定的网址
function submitdata() {
if(confirm("Are You Sure You Want To Proceed?")) {
location.replace("http://www.w3schools.com");
} else {
alert("Cancelling");
}
}
</script>
提交此表单后,将调用commitdata()。
然后我收到警报。
但是我的表格没有被重定向
<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>
if(confirm("Are You Sure You Want To Proceed?")) {
return true;
location.replace("http://www.w3schools.com");
}
return
从周围函数返回。 之后什么也不会执行。 您需要交换两行。
我知道了
<script>
function submitdata() {
var r = confirm('Are you sure?');
if (r == true) {
window.open('http://www.google.com');
} else {
alert('it didnt work');
}
return false;
}
</script>
如果您希望表单实际提交到该位置,则表单数据将不会通过该重定向发送。 您可以通过以下方式提交数据:将form
标记的action
属性设置为所需的URL,然后将表单提交事件更改为类似以下内容:
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;
也会工作。 但是,比后悔更安全:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.