2012-01-16 9 views
-1

誰でも何が欠落しているかを教えてもらえますか?私はjavascriptを使用して実行時にアクションを更新しようとしていますか?javascriptでフォームのアクションを更新する方法

私は多くを試みたが、何も働かなかった。

何かが間違っています。

<script> 
    function saveLocation() 
    { 

    var userType = "<%=request.getParameter("userType")%>"; 
    if(userType == "EXP"){ 
     document.edit_form.action="MeritorEditExpIpTtmAddDelCmd"; 
    }else if(userType == "WD"){ 
     document.edit_form.action='MeritorEditShipToCmd'; 
    } 
    document.edit_form.submit(); 
     return true; 
    } 
    </script> 
    <body> 
    <div style="float:left; width:668px;"> 

    <table width="668" height="274" cellpadding="0" cellspacing="0" style="border: 1px solid #ccc;padding:10px; font-family:verdana; font-size:11px;" > 
      <tr> 
       <td valign="top"> 
       <form method="get" name="edit_form" id="edit_form_id" action="MeritorEditShipToCmd" > 
       <input type="hidden" value="<%=request.getParameter("memberid")%>" name="memberid" /> 
       <input type="hidden" value="editLocation" name="action" /> 
       <input type="hidden" value="<%=request.getParameter("shipid")%>" name="shipid" /> 
       <input type="hidden" value="<%=request.getParameter("addrId")%>" name="addrId" /> 
       <input type="hidden" value="<%=request.getParameter("userType")%>" name="userType" /> 

       <Table CELLPADDING="5" CELLSPACING="0" bgcolor="#cdcdfe" style="border:1px solid #999;font-size:11px;" width="400" height="120"> 

         <tr> 
          <td> 
          <input type="button" name="save" value="Add/Save Location" onclick="saveLocation()"/> 
          </td> 
         </tr> 

       </Table></form> 

      </tr> 
      </td> 
    </table> 

    </div> 

    </body> 
    </html> 

私は間違っていると知りませんか?

thaxs for the reply.but when I m using the above mentioned help 

<% String userType = request.getParameter("userType"); 
    System.out.println(userType); 
    String action = null; 
    if(userType.equals("EXP")){ 
    action = "MeritorEditExpIpTtmAddDelCmd"; 
    System.out.println(userType+"hello"+action);} 
    else if(userType.equals("WD")){ 
    System.out.println(userType+"hello"); 
    action = "MeritorEditShipToCmd"; 
    System.out.println(userType+"hello"+action);}%> 

     <form method="get" name="edit_form" id="edit_form_id" action=<%action %  >> 

mはアクションをstring.butとして取得していますが、このアクションはcmdimplファイルには届きません。作業のデモを参照してください

<form id="frm" action="#"> 
</form> 
<script type="text/javascript"> 
    document.getElementById('frm').setAttribute('action','http://google.com'); 
    alert(document.getElementById('frm').getAttribute('action')); //just for test 
</script> 

::DOMの準備ができた後http://jsfiddle.net/PCKUx/1/

あなたがformを取得していることを確認し、私は後scriptを入れ はこれを行うには

+1

「動作していません」と定義します。シナリオも定義します。あなたは何を達成しようとしていますか?期待される結果は何ですか?実際の結果は何ですか?予想される結果と実際の結果との違いはどのようになりますか?本当の質問をお願いします。 –

答えて

1

アクションは純粋にサーバー側の変数に基づいているため、このクライアント側を行う必要はありません。

<% 
var userType = request.getParameter("userType"); 
var action = String.Empty; 
if(userType == "EXP") 
    action = "MeritorEditExpIpTtmAddDelCmd"; 
else if(userType == "WD" 
    action = "MeritorEditShipToCmd"; 
%> 

<form method="get" name="edit_form" id="edit_form_id" 
    action="<%= action %>" > 
+0

私は更新されたアクションを取得することができますが、コントローラを呼び出すことはできませんが、私はフォームアクションで直接コントローラを呼び出します。何が問題なの? –

+0

ありがとうございました –

1

簡単な方法をヘルプ形。

関連する問題