2016-04-23 7 views
1

私はa hrefを単純なフォーム送信として設定しましたが、これをフォームの送信と同じタイプのメソッドとして使用したいと考えていました。hrefを送信フォームとして作成する方法

だから私はセットアップにそれを持っている方法は次のとおりです。

<!-- HTML --> 
<a onclick="subForm('login');" style="cursor: pointer;"> login </a> 

// JavaScript 
function subForm(el) { 
    var elem = document.getElementById(el); 
    elem.submit(); 
} 

今、私は、フォームに提出クリックしたかのように機能しないというリンクをクリックしたとき、私はフォームのinput type=hiddenを設定することができます

私はこのログインシステムが空でないようにするために、if emptyで古いメソッドを使用したくない場合は、処理後にエラーを表示するので、送信ボタンを希望しました入力の1つがrequiredに設定されている場合にフォーム上でsubmitをクリックするのと同じようにを実行できます彼らのマークアップタグは..

答えて

1

あなたのコードは、その

<a onclick="subForm('login');" style="cursor: pointor;"> login </a> 

は、「ログイン」のIDを持っているフォーム内であると仮定して動作するはずです。

あなたが知りたいかもしれないことは、カーソルが:ポインターが間違っていることです。カーソル:ポインターでなければなりません。ただし、コードを少し変更すると、インラインスタイルは必要ありません。このようなものは、私の意見では良い改善になるでしょう。私はそれをテストしていませんでしたが、それは動作するはずです:

<form id="login" action="/wherever/you/want/this/form/to/post/to" method="post"> 
    <a id="js-submit-form" href=""> login </a> 
</form> 

<script> 
    var formToSubmit = document.getDocumentById('login'), 
    button = document.getElementById('js-submit-form'), 
    submitForm = function(e) { 
     e.preventDefault(); // this will stop the browser trying to use the href value 
     formToSubmit.submit(); 
    }; 

    button.addEventListener("click",submitForm); 

</script> 

私はちょうどあなたの質問の残りの部分を読んだが、私は実際にあなたが求めているものを理解していません。なぜ「必須」タグとサーバー側の検証を使用しないのですか?

+0

申し訳ありませんが、私のミスは、ポインタを綴ら:私を示すためのPのおかげで、ちょうどそれが動作するかどうかを確認するために私のコードにこれを追加します。 – Jek

+0

私は悪いと思ういくつかのサーバー側の検証、とにかく感謝:) – Jek

関連する問題