【问题标题】:Click to behave like a Return单击以表现得像退货
【发布时间】:2014-09-02 10:17:01
【问题描述】:

我正在构建一个 form,我想让我的 radio button 表现得像我按下了 Enter 键

类似onclick="keycode=13"

知道怎么做吗?

【问题讨论】:

  • 您希望它简单地提交表单还是需要触发按键?
  • 当我点击我的单选按钮时,我想让脚本认为我按下了回车键
  • 当您点击回车键时应该发生什么行为
  • if( keyCode === 13 ) { ev.preventDefault(); self._nextQuestion(); }
  • 好的。那么这个之前已经回答过了:stackoverflow.com/questions/16122380/…

标签: javascript forms


【解决方案1】:

如果您想提交表单,只需附加点击处理程序即可提交表单。

<input type="radio" onclick="this.form.submit();" />

或者你甚至可以触发回车键!

<input type="radio" onclick='e = jQuery.Event("keypress"); e.which = 13; e.keyCode = 13; this.trigger(e);' />

【讨论】:

【解决方案2】:

在您的事件处理程序中,您可以使用以下代码提交表单:

document.getElementById("myForm").submit();

【讨论】:

    【解决方案3】:

    在表单上添加 onkeypress:

    <form .. onkeypress="return myEvent(event)">
    <input type="radio" id="myRadio">
    

    比添加Javascript

    <script type="text/javascript">
    function myEvent(e) {
        e = e || window.event;
        var key = e.keyCode || e.charCode;
        if (key === 13) {
          // enter down
          document.getElementById('myRadio').checked = true;
          return false; // prevent form post on enter
        }
        return true;
    }
    </script>
    

    我认为上面的代码应该可以工作,因为我有非常相似的代码来防止在 Enter 按下时发布表单。

    【讨论】:

      【解决方案4】:

      不过有点晚了……

      <form name="myform">
          <input type=radio onclick="this.parentNode.submit()">click</input>
      </form>
      

      【讨论】:

        【解决方案5】:

        我设法通过在脚本中添加以下代码来实现这一点

        document.addEventListener( 'click', function( ev ) {
        
                    ev.preventDefault();
                    self._nextQuestion();
            } );
        

        【讨论】:

          猜你喜欢
          • 2010-10-14
          • 1970-01-01
          • 2016-01-15
          • 1970-01-01
          • 2021-05-09
          • 1970-01-01
          • 1970-01-01
          • 2016-09-14
          • 2012-01-15
          相关资源
          最近更新 更多