【问题标题】:HTML input box without a form没有表单的 HTML 输入框
【发布时间】:2009-10-10 23:16:39
【问题描述】:

我需要在没有表单的div 中有一个input 框,当用户输入内容并点击返回时,它应该运行一个Javascript 函数。

不会有提交按钮。

我该怎么做?

【问题讨论】:

    标签: javascript html forms


    【解决方案1】:

    要获得没有表单的输入框,我建议不要使用表单。

    【讨论】:

    • 不,没有表单的输入是完全有效的 [X]HTML。
    • chibineku:除了 bobince 所说的:HTML 4.01 标准规定“用于创建控件的元素 [例如输入元素] 通常出现在 FORM 元素内,但也可能出现在 FORM 之外用于构建用户界面时的元素声明。" (w3.org/TR/html401/interact/forms.html#form-controls)
    • 需要注意的是,当你点击出现在表单外的input元素时,IE8不会修改DOM。因此,无论您对复选框做什么,它都不会改变,除非它在 ​​<form> 内。
    • 最终问题变成了“你想让这个网页在没有 javascript 的情况下工作吗?”即使在这种情况下,您仍然可以使用表单参数 将外部输入元素与页面上的表单相关联。更多信息:w3schools.com/tags/att_input_form.asp 在任何情况下,按照传统和代码纯度,输入元素应该是表单中的实际子元素。
    【解决方案2】:

    您必须附加一个 onkeypress 事件并检查是否按下了 enter(如果是,则运行代码)。如果您需要示例,请告诉我们您使用的是纯 JavaScript 还是某个库。

    【讨论】:

      【解决方案3】:

      它可以简单地在下面的表格的帮助下完成......我认为添加表格会提供很大的稳定性

      <form onSubmit='alerttest(this); return false'>        
          <input type="text">         
      </form>
      
      
      <script language="javascript">
          function alerttest() {
              alert("Executing jolly.exe !!!!");
          }
      </script>
      

      【讨论】:

        【解决方案4】:

        不要使用表单标签。您可以轻松地使用 JQuery 将代码绑定到输入控件的按键事件。

        如果你对JQuery不熟悉,直接将代码绑定到输入字段按键事件即可。

        【讨论】:

          【解决方案5】:

          要在用户在输入字段上按下回车键时运行函数,最简单的方法是使用表单标签并使用表单的onSubmit 事件运行函数(因为在关注输入字段时按下回车键提交表格)。

          如果您仍然不想包含表单标签,您可以使用onKeyPress 事件来捕捉按下返回键并从那里调用函数。

          【讨论】:

          • 在这种情况下按键更合适。如果想捕获非字符键,则应使用 keyup 或 keydown 事件。
          猜你喜欢
          • 2011-02-04
          • 2014-06-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-05
          • 2011-09-21
          • 2016-02-17
          • 1970-01-01
          • 2011-12-10
          相关资源
          最近更新 更多