私はワードプレスでカスタムテンプレートを持っています。私は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;
}
}
を
exitの代わりにreturn falseを使用し、validate()を返すようにonclickを変更します。 – Bhavik