2011-02-07 87 views
-1

我有一个如下所示的表单。基本上,锚标签的href值由下拉列表中选定的值决定。Javascript anchor href change and form post

<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"> 

您可以提交它(用POST法)(即不是window.location...),像这样:

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

您还可以设置网址需要这样

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

的问题是,根据用户的另一个选择dropdown.So我使用windows.location.href设置窗体行动的选项....这将导致我的形式“行动”的变化为了使用GET,而不是POST。 – SfromMA 2011-02-07 21:09:20

0

你应该提交你的表格:

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