2010-03-15 74 views
3

我想要一个表单,可以根据选择框提交到两个不同的操作页面。将表单提交到2个不同的操作页面

这意味着如果我选择框中Products选择,采取该行动将products.html,如果我选择Users,该行动将users.html

我发现有两个提交按钮的例子很多,但我只需要一个提交按钮。

关于如何做到这一点的任何想法?

回答

5

你可以使用jQuery为...

如果选定值等于什么

集的形式属性行动,其他的事情不是初始动作

这当然是伪代码..

这里是一个有效的解决方案:

<html> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#selectList").change(function(){ 
     if($('#selectList').val() == 1){ 
     $("#yourform").attr("action","secondaryaction"); 
     } 
    }); 
}); 
</script> 
</head> 
<body> 
<select name="dummy" id="selectList"> 
<option value="0">foo</option> 
<option value="1">bar</option> 
</select> 

<form id="yourform" action="primaryaction"> 
bla bla 
</form> 
</body> 
</html> 
+0

谢谢你,只需添加提交按钮:D – Adnan 2010-03-15 10:09:38

-1
if(condition==products) 
document.forms[0].action = 'products.html; 
else 
document.forms[0].action = 'users.html; 
+0

为什么这是downvoted?这也没有评论 – balalakshmi 2011-12-17 09:08:59

1

尝试是这样的(假设一个名为“myForm的”形式):

document.myForm.onsubmit = function() { 
    if (this.mySelector.value == 'products') { 
     this.action = 'products.html'; 
    } 
    // the "else" isn't necessary: leave it at "users.html" as a default. 
}; 
0

读有关 属性为可在提交按钮来指定表单提交新的属性。这些属性包括:formaction,formenctype,formmethod,formnovalidate和formtarget

在IE> = 11

我的例子为将证明一点:

<form action="1.php"> 
    <input type="text" > 
    <button value="go"> GOOOOOOOOOOOO</button> 
<button value="go" formaction="2.php"> DONNNNNNNNNNNNNNNNOOOO</button> 
</form> 
相关问题