2016-12-02 23 views
2
<form method="post" name="frm_no_kids" class="getstarted" action="step1.php"> 
    <input type="hidden" id="price_value" name="fee" value="<?php echo encrypt(499); ?>"> 
    <input type="hidden" id="divorce_type" name="divorce_type" value="no_kids"> 
    <a class="btn border-btn yellow-btn started-hover" title="Get Started" href="javascript:frm_no_kids.submit();">Get Started </a> 
</form> 

私はこのリンクを持っています、それは動作していません。これは私のようなエラーを与える。送信してくださいjavascriptで

TypeError: frm_no_kids.submit is not a function

+0

にそのIDを使用し、それは悪い習慣です。外部イベントハンドラを使用してください –

+0

今のところ、このエラーの解決策を教えてください。 – neha910

+0

@ neha910あなたはこの提案を積極的に取るべきです。 – Tiger

答えて

2

を助け場合、私はあなたのフォームにIDを追加して、フォームデータを提出するアンカータグをクリックで関数を呼び出し:

<form method="post" name="frm_no_kids" id="frm_no_kids" class="getstarted" action="step1.php"> 
     <input type="hidden" id="price_value" name="fee" value="<?php echo encrypt(499); ?>"> 
     <input type="hidden" id="divorce_type" name="divorce_type" value="no_kids"> 
     <a class="btn border-btn yellow-btn started-hover" title="Get Started" href="javascript:;" onclick="submitData()">Get Started </a> 
</form> 
<script> 
     function submitData(){ 
      document.getElementById("frm_no_kids").submit(); 
     } 
</script> 
+0

はい、ありがとう、それはうまく動作していません。 Thanxもう一度:) @Ravi – neha910

+0

あなたは大歓迎です! upvoteありがとう –

0
document.getElementsByName('frm_no_kids')[0].submit(); 

チェックこれは

<form method="post" name="frm_no_kids" class="getstarted" action="step1.php"> 
        <input type="hidden" id="price_value" name="fee" value="<?php echo encrypt(499); ?>"> 
        <input type="hidden" id="divorce_type" name="divorce_type" value="no_kids"> 
        <a class="btn border-btn yellow-btn started-hover" title="Get Started" href="javascript:document.getElementsByName('frm_no_kids')[0].submit();">Get Started </a> 
        </form> 
0

それ送信ボタンのように動作するハイパーリンクの代わりに、フォーム内の実際の送信ボタンを使用する方が理にかなっています。表示/書式をより詳細に制御するには、<input type="submit">または<button type="submit">を使用できます。

あなたは(あなたのハイパーリンクのような)非送信ボタンを使用して設定されている場合、それは、フォームに独自のID与えることが最善のようになります。使用して、

<form method="post" id="frm_no_kids" name="frm_no_kids" class="getstarted" action="step1.php"> 
    <input type="hidden" id="price_value" name="fee" value="<?php echo encrypt(499); ?>"> 
    <input type="hidden" id="divorce_type" name="divorce_type" value="no_kids"> 
    <a class="btn border-btn yellow-btn started-hover" title="Get Started" href="javascript:document.getElementById('frm_no_kids').submit();">Get Started </a> 
</form> 

としては、コメントで言及されたがイベントリスナーは、はるかに優れている:

HTML:

<form method="post" id="frm_no_kids" name="frm_no_kids" class="getstarted" action="step1.php"> 
    <input type="hidden" id="price_value" name="fee" value="<?php echo encrypt(499); ?>"> 
    <input type="hidden" id="divorce_type" name="divorce_type" value="no_kids"> 
    <a id="frm_no_kids_submit" class="btn border-btn yellow-btn started-hover" title="Get Started" href="#">Get Started </a> 
</form> 

JS:

document.getElementById("frm_no_kids_submit").addEventListener("click", function(){ 
    document.getElementById("frm_no_kids").submit(); 
}); 
0

からあなたにIDを追加し、そのようにインラインのイベントを使用しないでください、あなたのjavascript

<form method="post" name="frm_no_kids" id="frm_no_kids" class="getstarted" action="step1.php"> 
    <input type="hidden" id="price_value" name="fee" value="<?php echo encrypt(499); ?>"> 
    <input type="hidden" id="divorce_type" name="divorce_type" value="no_kids"> 
    <a class="btn border-btn yellow-btn started-hover" title="Get Started" href="javascript:;" onclick="submitData()">Get Started </a> 
</form> 
<script> 
    function submitData(){ 
     document.getElementById("frm_no_kids").submit(); 
    } 
</script> 
関連する問題