2011-01-17 8 views
0

私はフォームを送信するためにJQueryを使用しています。あなたは上記のHTMLを表示する場合JQueryダイアログボックスのボタンをクリックしてメインフォームを送信する方法

<body> 
    <div id="wrapper"> 
     <form id="aspnetForm" action="index_2011.aspx" method="post"> 
      <div action="#" class="homeWidget"> 
       <fieldset>  
        <div class="row"> 
         <label class="first" for="olciLastName"> 
          Last name</label> 
         <input class="input" id="olciLastName" value="" type="text"> 
         <div class="clearBoth"> 
         </div> 
        </div> 
        <div class="row"> 
         <label class="first" for="olciItinerary"> 
          Itinerary number</label> 
         <input class="input itineraryNumber" id="olciItinerary" value="" type="text"> 
         <a href="#" class="ico-help">help</a> 
         <div class="clearBoth"> 
         </div> 
        </div> 
        <div class="row submit"> 
         <span class="form-btn"> 
          <input class="submitButton" value="Retrieve Booking" type="button"></span> 
         <div class="clearBoth"> 
         </div> 
        </div> 
       </fieldset> 
      </div>  
      <!-- SKYWARDS LOGIN --> 
      <div style="display: none;" id="skywardsLogin"> 
       <div class="formContainer" id="loginDetails"> 
        <table cellspacing="0" cellpadding="0" border="0"> 
         <tbody><tr> 
          <td colspan="2" class="formLabel"> 
           <span style="color: Red;" class="validateTips"></span> 
          </td> 
         </tr> 
         <tr> 
          <td width="100" class="formLabel"> 
           <label>Skywards Number</label> 
          </td>   
         </tr> 
         <tr> 
          <td class="formLabel"> 
           <label>Password</label> 
          </td> 
          <td> 
           <input type="password" class="formField" id="password" maxlength="25" name="password"> 
          </td>    
         </tr> 
         <tr> 
          <td class="formLabel"> 
           <label>Remember Me</label> 
          </td>    
         </tr> 
        </tbody></table> 
       </div> 
        <div class="continueBarRightButton"> 
         <input type="image" title="Log In" alt="Log In" id="loginButton" name="loginButton" src="/english/images/button_log_in_tcm233-224930.gif"> 
         <div style="display: none;" id="ajaxloading"> 
          <img align="absmiddle" alt="Processing..." src="/english/images/spinner.gif"> 
          Processing... 
         </div> 
        </div> 
      </div> 
     </form>  
    </div> 
</body> 

、私はID skywardsLoginを持っている、私が知っているかのように、jQueryのモーダルダイアログとして動作していることがわかります。

私は、以下のHTMLを持っていますjQueryの.Dialog関数が呼び出されたときにFORMタグから関連するすべてのHTMLアウトをtooksそれは、私の問題は、私は、ログインボタン(「loginButton」)のクリックのフォームを送信したいということです、I suにする方法を知っている私はフォームを提出するために使用しているJqueryのサンプルコードは、私が提出を行っているときに完全なフォームの要素値を取得していないという質問ですが、フォームをbmit。

$("#aspnetForm").attr("action", "http://localhost:8080/english/index_2011.aspx"); 
$("#aspnetForm").submit(); 

私はすでにシリアライズ使用してチェックしますが、フォームが以上

var str = $('#aspnetForm').serialize(); 
     // -- Start AJAX Call -- 
alert(str); 

値ALERTは、フォーム内の任意の入力された値を示していない取得していません。 お勧めします!

答えて

0

要素のjquery .dialog()を呼び出すと、フォーム外のすべてが削除されます。ダイアログを初期化した後に戻す必要があります。あなたは、同じチェーンでそれを行うことができます:あなたは私は、再びVAR skywardsNumberInput = $(」のようなものを、それらのすべてを初期化する必要が意味して

$("skywardslogin").dialog({....}).appendTo("form:first"); 
+0

あなたは、それが –

+0

より多くの私は35個のフォームフィールドを持ってクリアしてくださいすることができ").attr(" type "、" hidden ")。attr(" name "、" skywardsNumber ")。val($( '#skywardsNumber')。 var passwordInput = $( "").attr( "type"、 "hidden")。attr( "name"、 "password")。 と入力してから、再度フォームに追加してください。 $( "#aspnetForm")。append($(skywardsNumberInput)); $( "#aspnetForm")。append($(passwordInput));私はこれを知っています。フォーム要素のすべての値を取得する他の方法はありませんか? –

+0

dialog()を呼び出す要素はありません。 – Malk

関連する問題