【问题标题】:Including JavaScript validation in a form submit in PHP在 PHP 中的表单提交中包含 JavaScript 验证
【发布时间】:2010-02-11 23:37:05
【问题描述】:

是否可以提交 HTML 表单(使用 PHP 操作)并包含 javascript onsubmit="VerifyFields()

我现在正在尝试执行此操作,但似乎它会执行 PHP 操作而不执行 onsubmit

更新:

感谢您的所有帮助。

问题是我将VerifyMe() 函数放在<head></head> 中,而不是<body></body>

【问题讨论】:

  • 应该是。可以发一些代码吗?

标签: php javascript html forms


【解决方案1】:

如果在 onsubmit 处理程序中返回 false,则表单不会提交,如果返回 true,则会提交。

您应该让函数 VerifyFields 返回真或假,并像这样调用它:

onsubmit="return VerifyFields();"

【讨论】:

  • @o.k.w 这将始终返回 false 因此您永远无法提交..无论验证结果如何..
  • @Gaby,我的错,我在想什么?顺便说一句,删除了我的评论。
【解决方案2】:
<script type="text/javascript">
   function validateForm(){
   ...
   }
</script>

<form name="contact" action="<?=$_SERVER['PHP_SELF']?>" 
    method="post" onsubmit="return validateForm();">
        <label> Foo </label>
        <input type="text" class="txt_input" name="sender_name" />
        ...
        <input type="image" src="img/send.jpg" id="submitButton" 
           name="submitForm" value="send" />
</form>

【讨论】:

    【解决方案3】:

    我会在向服务器提交任何字段之前测试输入。 我会通过 javascript 在客户端对其进行测试,最后将其发送到服务器。 你也可以这样调用你的脚本。

    <input type="text" class="txt_input" name="sender_name"  onchange="validateForm();" />
    

    【讨论】:

    • 因此,在提交时使用的替代方法是触发最终字段。不能完全优雅地降级(例如,如果您将光标放在不同的字段中并按 Enter 键,表单仍会在没有任何验证的情况下提交。如果您将其更改为 onchange="validateField();",那么它可能更有意义。跨度>
    猜你喜欢
    • 2014-09-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 2021-06-12
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 2011-08-22
    相关资源
    最近更新 更多