JS

2017-05-12 1 views
0

でのフォームの提出について現在、フォーム送信ボタンとして機能するページにハイパーリンクを修正しようとしています。JS

ボタンは二つのことを行うことになっている:

  1. チェックであれば、空と呼ばれる検証機能、();もしそうなら、真

  2. を返し、フォームに

を送信ボタンのコードは次のとおりです。

<a role="button" class="button_primary" id="WC_AccountDisplay_links_2" onclick="submitLogonForm();"> 
<div class="left_border"></div> 
<div class="button_text">Sign In</div> 
<div class="right_border"></div> 
</a> 

onclickのコードは次のとおりです。

<script> 

function submitLogonForm() { 

return empty(); 

    if(empty()) { 

    document.Logon.action="security.php"; 
    document.Logon.submit(); 

    } 

} 

</script> 

、フォームのコードです:

<form method="post" name="Logon" action="security.php" id="Logon"> 

empty()チェックは正常に実行されますが、フォームは送信されません。何が欠けているのかわかりません。

ご協力いただければ幸いです。

+0

フォーム提出コードの前に 'return'ステートメントを置いた理由は何ですか?これらの行は到達不能で、関数が途中で復帰して終了するため実行されません。 – abhishekkannojia

+0

私はreturnステートメントを使わずに試しましたが、フォームはまだ送信されません。 – James

+0

気にしない - 空の()関数に "else {return true;}"条件を追加しました。これは今の魅力のように機能します! – James

答えて

0
function submitLogonForm() { 
    if(notempty()) { 

    document.forms[0].submit(); 

    } 
} 
function notempty() { 
    // do validations here 
    //if any field is empty - return false 
    //else 
    return true; 
} 


<form action="security.php"> 
<a role="button" class="button_primary" id="WC_AccountDisplay_links_2" onclick="submitLogonForm();"> 
submit 
</a> 
</form> 
+0

ありがとうございますが、それは私のためには機能しません - 空のフィールドだけをチェックするのではなく、フィールドが空であれば特定の警告を伴うカスタムモーダルダイアログポップアップも表示されます。私はただそれを捨てることはできません。 – James

+0

theのすべてをチェックして、その関数のtrueまたはfalseを返すことができます。私はあなたを見せて編集します。 – RemyaJ

+0

私はまだ私のコードがフォームを提出しない理由を理解できません - もしempty()関数がtrueを返すならば、submissionコードは実行されるべきです(empty()の実行を設定しないと、最初に機能する)。 – James