-2

フォーム送信では、jquery を使用してアクションを実行しています

ここに私のHTMLコードがあります

<form name="frmSearchTops" id="frmSearchTops" method="post" onsubmit="searchitem();">
        <select  name="cboCityNameRes" id="cboCityNameRes">
          <option value=''>City</option>
             {foreach from= $arritemCities item=foo}                      
               {if $smarty.post.hdnCityName eq $foo}                                
                  <option value="{$foo}" selected="selected">{$foo}</option>          
               {else}    
                <option value="{$foo}" {if $foo eq 'City'} selected="selected"{/if}>
                     {$foo}
                </option>
               {/if}    
             {/foreach}    
        </select>
    <select name="cboMaterial" id="cboMaterial">
      <option value="">Material</option>
      <option value="CT">Cotton</option>
      <option value="SL">Silk</option>
    </select>
     <input name="btnSearch" type="button" value="Search" id="btnSearch"/>       
 </form> 

Jquery コード

<script type="text/javascript">
 function searchitem()
 {
    var strCity = $('#cboCityNameRes').val();
    $("#frmSearchTops").attr("action", "/womens-tops-" + strCity + ".php");
    $("#frmSearchTops").submit();
 }
 </script>

ここでは、ダミー リンクの womens-tops-chennai.php にアクションを与えています。コントローラーでは、実際のページにリダイレクトされますが、私にとっては機能しません。このように送信できますか

4

2 に答える 2

1

ボタンを送信ボタンに変更します。buttonデフォルトではフォームを送信しないタイプの入力があります。そのため、フォームが送信されません。

<input name="btnSearch" type="submit" value="Search" id="btnSearch"/>

送信ボタンを使用すると、イベント ハンドラーが完了.submit()すると自動的に呼び出されるため、呼び出す必要はありません。onsubmit

于 2013-01-16T09:38:28.043 に答える
0

フォームを送信できないタイプを使用してフォームを送信しようとしているbuttonため、代わりに onclick イベントで関数を呼び出し、スクリプトにフォームを送信するコードがあります

<input name="btnSearch" type="button" value="Search" id="btnSearch" onclick='searchitem();'/>

動作デモ

于 2013-01-16T09:37:43.410 に答える