2011-07-03 14 views
0

いくつかのフィールドを持つフォームがあります。ユーザがフォームフィールドのテキストボックスに数値を入力すると、いくつかのラベルを表示したいと思います。 私はAjaxを使用する必要があることを知っていますが、問題はAjaxフォームが別の形式であることです。だから私がAjaxフォームを提出するときに、フォームが提出され、Ajaxリクエストを得ることができません。 私のコードの構造は次のとおりです。MVC3でAjaxフォームを送信

@using (Html.BeginForm()) { 
@Html.ValidationSummary(true) 
<fieldset style="font-family:'B Nazanin';font-size:14pt"> 
    <div align="center">   
     <table border="0"> 
      <tr align="center"> 
       <td> 
        @Html.LabelFor(model => model.a) 

       </td> 
       <td> 
        @Html.LabelFor(model => model.a) 
        @Html.EditorFor(model => model.a) 
        @Html.ValidationMessageFor(model => model.a) 
       </td> 
      </tr> 
     </table> 
     <div align="right" id="searchJustForm"> 
     <fieldset style="font-family:'B Nazanin';font-size:14pt">        
      @using (Ajax.BeginForm("Index", "Terminal", new AjaxOptions() { UpdateTargetId = "divGomrokJust", InsertionMode = InsertionMode.Replace })) 
      { 
      <div align="center"> 

ありがとうございます。

+4

入れ子になった 'form'要素は違法です。 –

答えて

3

HTMLフォームをネストすることはできません。それは無効なHTMLです。マークアップを変更する必要があります。あなたのフォーム要素の.changeイベントを購読し、メソッドを使用してAJAXリクエストをトリガーすることで、純粋なjQueryを使用できます。

0

jQueryライブラリ(www.jquery.com)からのJavascript機能.post $を使用すると、最善の解決策になるHTMLで