【问题标题】:How do I prevent users from submitting this form blank?如何防止用户将此表单提交为空白?
【发布时间】:2010-12-19 17:31:59
【问题描述】:

如果在第一个字段中提交的内容少于 5 个字符,我想让一个表单不执行任何操作。

我得到了一个类似的代码,但它在这个表单上不起作用,因为第二个字段被隐藏并且被页面填充,所以提交时表单不是空白的。

因此,如果提交时在第一个字段中输入的内容少于 5 个字符,我希望表单不执行任何操作。

这是表格:

<form class="questionform" name="questionform-0" id="questionform-0">

<textarea class="question-box" style="width:97%;" cols="20" rows="4"  id="question-box-' . $questionformid . '" name="title" onfocus="if(this.value == \'\'){this.value = \'\';}" onblur="if(this.value == \'\'){this.value = \'\';}"></textarea>

<input type="hidden" class="ubicacion" style="width:60%; font-weight:bold; border-color:white; background:white; color:white" value="<?php the_search_query(); ?> " name="question" /></p>

<div class="question-form-bottom"><input type="button" name="ask" value="Publicar" onclick="askquestion('questionform-0');"></div></form>

如果不清楚或者您需要更多信息,请询问。谢谢

【问题讨论】:

  • 您可能需要使用 JavaScript 来执行此操作(php 没有客户端方法来停止提交空表单,php can 所做的只是发送用户如果发现为空白,请返回form 重新输入)。

标签: php forms


【解决方案1】:

你真的无法阻止某人这样做。您可以尝试 JavaScript 检查,但也有人可能会禁用它并提交。最好的方法是总是进行服务器端验证,然后像 js check 那样返回错误。

【讨论】:

  • 绝对,同时使用两者以获得最佳效果。
【解决方案2】:

您可以使用 Javascript 在客户端执行此操作,也可以通过验证在 php 上执行此操作,如果验证失败则显示错误且不重定向到下一页。

【讨论】:

    【解决方案3】:

    最好的办法是使用 AJAX。使用 AJAX,您可以控制表单的提交。基本上,您将提交按钮设置为调用 AJAX 函数的常规按钮,该函数将调用 PHP 文件来验证和提交表单。这是一个解释 AJAX 的好网站:

    http://www.learn-ajax-tutorial.com/

    祝你好运:D

    【讨论】:

    • 但是如果有人没有启用js,你的表单就没有用了。这就像拥有一个仅限 Flash 的网站。你失去了可访问性。
    • 通过将提交页面设置为.php页面,您可以轻松检查JS是否启用并采取相应措施。
    猜你喜欢
    • 2017-01-23
    • 2019-07-16
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 2012-05-26
    相关资源
    最近更新 更多