javascript
  • jquery
  • forms
  • 2017-08-29 7 views 0 likes 
    0

    、私のコードは次のとおりです。一度に2つの投稿フォームを提出するには?私は、Djangoのウェブサイトを構築してい

    <script type="text/javascript"> 
     
    
     
    $("#lxwjsubmit").click(function(){ 
     
        var userId=$('#id_user1').val(); 
     
        var password=$('#id_password1').val(); 
     
        var newtable2='<table id="table2"><tr><th></th><td><input type="text" name="userId" value="'+userId+'" /></td></tr><tr><th></th><td><input type="password" name="password" maxlength="100" value="'+password+'" /></td></tr></table>' 
     
         
     
        $('#table2').html(newtable2);  
     
        document.getElementById('form2').submit();  
     
        document.getElementById('form1').submit(); 
     
    }) 
     
    </script>
    <div class="form-group"> 
     
          <form action="" method="POST" id='form1'> 
     
           <table> 
     
            <tr><th></th><td><input type="text" name="user" id="id_user1" /></td></tr> 
     
            <tr><th></th><td><input type="password" name="password" id="id_password1" /></td></tr> 
     
           </table> 
     
    
     
           <input type="button" value="submit" id='lxwjsubmit'> 
     
          </form> 
     
    </div> 
     
    
     
    
     
    <div class="form-group"> 
     
          <form action="http://localhost/Login.do" method="POST" id='form2' hidden='true' >   
     
         
     
           <table id="table2"> 
     
           <tr><th></th><td><input type="text" name="userId" /></td></tr> 
     
           <tr><th></th><td><input type="password" name="password" /></td></tr> 
     
           </table> 
     
           <input type="button" value="submit" > 
     
          </form> 
     
    </div>

    は私が単独で各フォームを送信することができます。 をまとめると、1つのフォームしか提出できません。 私はplsを修正できますか?または2つの異なるフォームを提出するよりエレガントな方法はありますか?

    +0

    AJAXを使用する必要があります。 Google for AJAXフォーム提出 - 多くのガイドが存在する – Milney

    +1

    なぜあなたはこれをしたいのですか?これは本当に奇妙です。 – Martijn

    答えて

    0

    あなたが一度に複数のフォームを提出することができない、あなただけの提出につき1つのフォームを送信することができます。いくつかのオプションがあります。

    • は一つの大きなフォームでそれを交換し、あなたが今、あなたの<form>を持っているところ<fieldset>を使用しています。
    • 最初のフォームを送信するときに、もう一方のフォームの値を取得し、隠しフィールドを介して最初のフォームに追加します。 JavaScriptのビットを取ると、メンテナンスが必要になります。
    • AJAX post()を使用して提出することもできますが、これはあなたのケースに合っている必要があります。 Ajaxは物事を必要以上に複雑にする可能性があります。

    さらに回避策があります。コードをよりきれいにして理解しやすくするため、最初のコードをお勧めします。多くの人が2つの書式を1つにまとめて提出することを期待していません。

    +0

    私は2つの異なるアクションへの投稿、

    の使用方法を送信する必要がありますか? – skystone

    +0

    彼らはアヤックスだけが行く方法です。私が言ったように、オンラインで1つのフォーム(したがって1つのactio)一度に。 – Martijn

    0
    $("#form2").ajaxSubmit({url: 'server.php', type: 'post'}) 
    $("#id_user1").ajaxSubmit({url: 'server.php', type: 'post'}) 
    

    ajax submit jQuery

    関連する問題