【问题标题】:Parent Submit Function Submitting iFrame Form Without Verifying Input Types父提交函数提交 iFrame 表单而不验证输入类型
【发布时间】:2013-05-08 19:55:48
【问题描述】:

所以我在父窗口的“onclick”按钮属性中使用了这段代码:

window.frames['sample'].document.forms['sample_sheet'].submit();

最初(通过 HTML 的内置检查)iframe 的提交按钮在单击时,如果我在数字输入字段中键入字母并尝试提交它,将给我一个验证错误。例如:

 <input type="number" />

因此,如果我在该输入中键入“RG”,我会在尝试提交时收到“请输入一个数字”。

但是使用上面我为父窗口按钮使用的提交功能,表单无论如何都会提交,而且我还有一个 HTML min='0' 属性被通过提交功能忽略(就像即使我输入一个负数,它将在没有 HTML 检查的情况下提交)。我真的需要在提交之前进行 HTML 验证!为什么它现在不起作用,我该如何验证?

父窗口中的 HTML

 <iframe src="sample/"
            frameborder="" name="sample" id="sample" class="contentiframe"></iframe>

 <a onclick="window.frames['sample'].document.forms['sample_sheet'].submit();" data-transition="flip" data-theme="" data-icon="check">
                  Submit

在 iFRAME 中形成 HTML

<form id="sample_sheet" name="sample_sheet" action="php/upload.php" method="post">
<table>         .......
<tr>
            <td>Sample Sequence</td>
            <td><input type="number" name="sample_no" id="sample_no" /></td>
</tr>
<tr>
            <td>Waste Weight</td>
            <td><input type="number" step="any" min="0" name="waste_wt" id="waste_wt" /></td>
        </tr>
</table>
<!--<input type="submit" value="Submit" />-->
</form>

【问题讨论】:

    标签: javascript html


    【解决方案1】:

    你在回调函数中使用 event.PreventDefault() 吗?这将停止按钮单击时的任何默认操作。

    【讨论】:

    • 我需要比这更多的代码来查看发生了什么。但这是一个很好的起点。防止默认。
    • 我从来没有实现过任何PreventDefault函数
    【解决方案2】:

    安装 jquery 验证插件后,我最终在这里找到了答案,而这正是我所缺少的。

    Jquery Validate and send form with a link

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-18
      相关资源
      最近更新 更多