2017-01-18 6 views
2

私はワードプレスでカスタムテンプレートを持っています。私はreturn;の代わりexitで試してみましたJavaScriptのJavascriptバリデーション

<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> 

<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();" /> 

私は次のようにすべてのフィールドを、検証しています:そのカスタムテンプレートでは私はこのような形を持っています。それでもサーバー側に向かいます。

[送信]ボタンをクリックすると、コードはfunctions.phpになります。検証中にここでコードを停止し、アクションページに入る必要はありません。
何かお手伝いしました。
ありがとうございます。私は、それは願っています

<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; 
} 
} 

+1

exitの代わりにreturn falseを使用し、validate()を返すようにonclickを変更します。 – Bhavik

答えて

2

は、フォームのをonSubmitイベントに検証機能を追加作品:

1

これを試してみてください。 次に、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> 
+0

私はすでに試してみました。それは動作しません –

+0

私の編集された答えを表示..... –

関連する問題