表单onsubmit没有调用多个跨度,每个跨度包含一个输入

时间:2012-03-22 16:46:35

标签: html

工作的:

<form class=filter onsubmit="alert('submit');">
    <span class=a></span>
    <span class=b> <input type=text name=b /> </span>
</form>

不起作用:

<form class=filter onsubmit="alert('submit');">
    <span class=a></span>
    <span class=b> <input type=text name=b /> </span>
    <span class=c> <input type=text name=c /> </span>
</form>

通过工作,我的意思是当我输入文本并按Enter键时,会调用onsubmit形式(一个简单的警报)。为什么不在第二种情况下开火呢?修复它或绕过它的最佳方法是什么?我可以在html中的每个输入上放置一个单独的onchange事件,或者通过javascript / JQuery添加事件。这是最好的方法吗?


我有一个由div构建的“表格”,用于条目的行和跨度。表格是表格中的一行。将输入包装在跨距内使得格式(主要是列宽/间距)更均匀。然后将实际输入元素设置为跨度宽度的80%。

2 个答案:

答案 0 :(得分:4)

  1. 您应该将您的属性值包装在"" s。
  2. 根据浏览器的不同,如果表单只有一个文本字段,或者只有存在提交按钮时,Enter键才会导致表单提交。要解决此问题,您可以使用隐藏的input type="submit"尝试上述操作,或者使用jQuery keypresssubmit的组合来检测enter按键并以编程方式提交表单。

答案 1 :(得分:2)

您的输入按钮在哪里提交?

我刚在jsfiddle and it worked尝试了这个:

<form class=filter onsubmit="alert('submit');">
    <span class=a></span>
    <span class=b> <input type=text name=b /> </span>
    <span class=c> <input type=text name=c /> </span>
    <input type='submit' />
</form>​