2011-02-07 6 views
-1

私は以下のようにコード化されたフォームを持っています。基本的にアンカータグのhref値は、ドロップダウンで選択した値によって決まります。Javascriptアンカーhref変更とフォーム投稿

<form name=xyz method=post> 
    //random stuff 

    <a href="#" onclick="setAnchor()"> 
    //some image 
    </a> 
</form> 

私はこのようなJavaScriptでフォームのhrefプロパティを設定しています:

if(dropdown.option selected = "x") 
    windows.location.href = some URL; 
else 
    windows.location.href = another URL; 

私が午前問題はwindows.locationを使用すると、GETメソッドを使用するフォームを引き起こすことがあります。このコードでは、POSTメソッドが続行されることが期待されています。

どうすればこの問題を解決できますか?私は上記の方法に結婚していません。ユーザーが選択したオプションに基づいて、フォームアクションURLを設定することができます。

答えて

2

あなたは、このフォームがある場合:

<form id="myForm" action="page.php" method="POST"> 

あなたがそうのように(代わりにwindow.location...の、つまり)(POSTメソッドで)それを提出することができます:あなたが設定することもでき

document.getElementById("myForm").submit(); 

をこのように送信されるURL

document.getElementById("myForm").action = "page.php"; 
+0

問題が発生したオプションに応じて、ユーザーは、私は、フォームのアクションを設定するwindows.location.hrefを使用して、別のdropdown.Soで選択している私のフォーム「アクション」変更....ですPOSTの代わりにGETを使うためのものです。 – SfromMA

+0

'location.href'の' document.getElementById( "myForm")。action = "page.php"; '** **を使用して**フォームを送信します。この方法では、データはPOSTによってGETされずに送信されます。 – JCOC611

0

フォームを提出する:

document.xyz.submit(); 
0
document.xyz.action=page1.php; (or page2.php based on dropdown selection) 
document.xyz.submit();