2011-06-27 73 views
15

我已经搜索了一个答案,但找不到一个!在表单提交前确认

我有一个简单的表格,

<form action="adminprocess.php" method="POST"> 
    <input type="submit" name="completeYes" value="Complete Transaction" /> 
</form> 

我将如何调整这在处理表格前确认?

我试过onclick,但无法让它工作。

任何想法?

更新 - 我现在有。

<script type="text/javascript"> 
var el = document.getElementById('myCoolForm'); 

el.addEventListener('submit', function(){ 
return confirm('Are you sure you want to submit this form?'); 
}, false); 
</script> 

<form action="adminprocess.php" method="POST" id="myCoolForm"> 
    <input type="submit" name="completeYes" value="Complete Transaction" /> 
</form> 
+1

什么是你必须的onclick代码? – AllisonC

+0

您必须在**表单在文档中后添加侦听器**。使用window.onload添加它,或者将该脚本放在页面中的表单之后。 – RobG

+0

不知道它必须后来,但它是有道理的。感谢RobG。 – sark9012

回答

35

HTML:

<form action="adminprocess.php" method="POST" id="myCoolForm"> 
    <input type="submit" name="completeYes" value="Complete Transaction" /> 
</form> 

的JavaScript:

var el = document.getElementById('myCoolForm'); 

el.addEventListener('submit', function(){ 
    return confirm('Are you sure you want to submit this form?'); 
}, false); 

编辑:您可以随时使用内联JS代码:如果您已经使用jQuery

<form action="adminprocess.php" method="POST" onsubmit="return confirm('Are you sure you want to submit this form?');"> 
    <input type="submit" name="completeYes" value="Complete Transaction" /> 
</form> 
+0

当我点击按钮时没有什么事情发生?只需进入adminprocess.php页面! – sark9012

+0

您是否使用我提供的标记?你的HTML不包含我添加到表单的id元素,所以我可以通过'getElementById'方法获取它。 –

+0

我复制并粘贴了代码,它仅仅绕过了确认尝试。我会用我现在所拥有的更新这个问题。 – sark9012

16
<input type="submit" onclick="return confirm('Are you sure you want to do that?');"> 
+0

@RobG你错了一点。这'

'完美的作品 – Greenisha

+0

@RobG编辑了一下 – Greenisha

2

正确的事件是的onSubmit()和它应连接到的形式。虽然我认为可以使用onClick,但onSubmit是正确的。

+1

没有onsubmit事件。有一个名为* onsubmit *的HTML属性,但相关事件是[submit](http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-htmlevents )事件。 – RobG

+0

好的,这是关于语义的,因为onclick不是事件,但我同意你的意见,因为你指出正确的词 –

1

..您可以使用事件处理程序在提交之前触发

$(document).ready(function() { 
    $("#formID").submit(function(){ 
     // handle submission 
    }); 
}); 

参考: http://api.jquery.com/submit/

+0

不使用jQuery,但谢谢你的建议。绝对是我需要进一步了解的东西。 – sark9012

+0

如果你打算用javascript开发,我会强烈建议使用jQuery。它提供了一个你可能需要创建许多功能的平台,它已经被创建。它的扩展性非常好。 – Atticus

+0

关于最好的地方的任何建议,以解决它?很简单的jQuery网站? – sark9012

-2
如果您有更多然后一个提交你可以这样来做不同的操作按钮

<input TYPE=SUBMIT NAME="submitDelete" VALUE="Delete Script" onclick='return window.confirm("Are you sure you want to delete this?");'> 
0

var submit = document.querySelector("input[type=submit]"); 
 
    
 
/* set onclick on submit input */ 
 
submit.setAttribute("onclick", "return test()"); 
 

 
//submit.addEventListener("click", test); 
 

 
function test() { 
 

 
    if (confirm('Are you sure you want to submit this form?')) {   
 
    return true;   
 
    } else { 
 
    return false; 
 
    } 
 

 
}
<form action="admin.php" method="POST"> 
 
    <input type="submit" value="Submit" /> 
 
</form>