有没有办法在表单上将按钮设为默认值?

时间:2011-06-11 12:03:13

标签: javascript html css

这是我的代码:

<FORM ACTION="../cgi-bin/cgi4.pl">
Go to check-out page? 
<INPUT TYPE=SUBMIT NAME="checkout" VALUE="Yes"> 
<INPUT TYPE=SUBMIT NAME="checkout" VALUE="No"> 
</FORM>

当我点击回车时,我希望Yes是默认值。这可能吗?

3 个答案:

答案 0 :(得分:1)

我建议你使用tab index属性。

<FORM>
    <input type ="text" tabindex="3"/>
    <INPUT TYPE="SUBMIT" NAME="checkout" VALUE="Yes" tabindex="1" /> 
    <INPUT TYPE="SUBMIT" NAME="checkout" VALUE="No" tabindex="2" /> 
</FORM>

我不会使用javascript,好像一个人不想提交,他按“输入”他将被迫这样做。也许他使用网页顶部的搜索栏并按Enter键,但两个表单都将被提交。

http://jsfiddle.net/EUUcG/3/


但如果不是这样,你可以使用javascript函数: -

function searchKeyPress(e) {
    // look for window.event in case event isn't passed in
    if (window.event) {
        e = window.event;
    }
    if (e.keyCode == 13) {
        document.forms["myform"].submit();
    }
}

这个更好:

<script>
    window.onload=function() {
      document.getElementsByName("checkout")[0].focus();
    } 
</script>

by @mplungjan

答案 1 :(得分:1)

你可以这样做:

<script>
window.onload=function() {
  document.getElementsByName("checkout")[0].focus();
}
</script>
<FORM ACTION="../cgi-bin/cgi4.pl">
Go to check-out page? 
<INPUT TYPE=SUBMIT NAME="checkout" VALUE="Yes"> 
<INPUT TYPE=SUBMIT NAME="checkout" VALUE="No"> 
</FORM>

在HTML5中,将自动对焦添加到按钮

<input type="submt" name="checkout" value="Yes" autofocus>

http://jsfiddle.net/mplungjan/mM9VJ/

答案 2 :(得分:0)

试试这个:

<FORM ACTION="../cgi-bin/cgi4.pl">
    Go to check-out page? 
    <INPUT TYPE=SUBMIT id='btnYes' NAME="checkout" VALUE="Yes" onclick="doSomething(); /> 
    <INPUT TYPE=SUBMIT NAME="checkout" VALUE="No" onkeydown="if (event.keyCode == 13) document.getElementById('btnYes').click()" />         
</FORM>

请注意:您需要在每个需要捕获输入密钥的控件上添加onkeydown。