【问题标题】:Javascript validation in phpphp中的Javascript验证
【发布时间】:2017-01-18 07:22:47
【问题描述】:

我在 wordpress 中有一个自定义模板。在那个自定义模板中,我有一个这样的表单:

<label style="font-size:12px;"> First Name:</label>
<input type="text" id="RF_FName" name="RF_FName" />
<input  id="RegisterUser" type="submit" Value="Register" name="RegisterUser" onclick="validate();" />

我正在验证所有字段,例如:

<script>
    function validate() {
        if (document.getElementById("RF_FName").value == "") {
        alert("Enter your First Name");
        document.getElementById("RF_FName").focus();
        exit();
        function exit() {
        var i;
            window.addEventListener('error', function (e) {e.preventDefault(); e.stopPropagation(); }, false);
            var handlers = [
                'copy', 'cut', 'paste',
                'beforeunload', 'blur', 'change', 'click', 'contextmenu', 'dblclick', 'focus', 'keydown', 'keypress', 'keyup', 'mousedown', 'mousemove', 'mouseout', 'mouseover', 'mouseup', 'resize', 'scroll',
                'DOMNodeInserted', 'DOMNodeRemoved', 'DOMNodeRemovedFromDocument', 'DOMNodeInsertedIntoDocument', 'DOMAttrModified', 'DOMCharacterDataModified', 'DOMElementNameChanged', 'DOMAttributeNameChanged', 'DOMActivate', 'DOMFocusIn', 'DOMFocusOut', 'online', 'offline', 'textInput',
                'abort', 'close', 'dragdrop', 'load', 'paint', 'reset', 'select', 'submit', 'unload'
            ];
            function stopPropagation (e) {
                e.stopPropagation();
                // e.preventDefault(); // Stop for the form controls, etc., too?
            }
            for (i = 0; i < handlers.length; i++) {
                window.addEventListener(handlers[i], function (e) {stopPropagation(e); }, true);
            }

            if (window.stop) {
                window.stop();
            }

            throw '';
        }
</script>

我尝试过使用return; 而不是exit。仍然是服务器端。

但是当我点击提交按钮时,代码将转到functions.php。我想在验证时在此处停止代码,并且不应进入操作页面。
任何帮助表示赞赏。
谢谢。

【问题讨论】:

  • 使用 return false 代替 exit 并在 onclick 更改返回 validate()

标签: javascript php wordpress validation


【解决方案1】:

在表单的onsubmit 事件中添加验证功能。 然后,如果您从 valdate 方法返回 false,它将不会进入操作页面。

<form onsubmit="return validate();">
<label style="font-size:12px;"> First Name:</label>
    <input type="text" id="RF_FName" name="RF_FName" />
  <input  id="RegisterUser" type="submit" Value="Register" name="RegisterUser"  /> 
</form> 

<script>
function validate() {
 if (document.getElementById("RF_FName").value == "") {
 alert("Enter your First Name");
 document.getElementById("RF_FName").focus();
 return false;
 }
}
</script>

【讨论】:

    【解决方案2】:

    试试这个:

    <label style="font-size:12px;"> First Name:</label>
            <input type="text" id="RF_FName" name="RF_FName" />
      <input  id="RegisterUser" type="submit" Value="Register" name="RegisterUser" onclick="return validate();" />
    
    
    function validate() {
    if (document.getElementById("RF_FName").value == "") {
        alert("Enter your First Name");
        document.getElementById("RF_FName").focus();
        return false;
    }
    }
    

    我希望它有效

    【讨论】:

    • 显示我编辑的答案.....在onclick事件中在函数之前写return然后使用return false
    猜你喜欢
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    相关资源
    最近更新 更多