不选择表单中的第一个选项 - 选择而不更改为另一个选项然后更改回来

时间:2012-12-25 16:30:17

标签: jquery forms

我有这个表格。当显示页面时,似乎选择了第一个选项,但是当我然后提交任何事情时。如果我更改为选项二或三,然后返回选项一,那么当我按提交时页面重定向。

任何建议如何修复这个小“bug”

<form method="post" action=javascript:action; >
<select class="price" onChange="this.form.action=this.options[this.selectedIndex].value;">
<option selected="selected" value="cart.php?a=add&pid=72">Kr. 999.00,- årlig</option>
<option value="cart.php?a=add&pid=73">Kr. 999.00,- toårig</option>
<option value="cart.php?a=add&pid=74">Kr. 999.00,- treårig</option>
</select>
<input type="submit" value="Bestill" class="buy-now" /> 

现在我显示了下面的代码,但它没有重定向到新的cart.php页面。

这是完整的代码,jquery被加载到头文件中。

<script type="text/javascript">
$(document).ready(function(){
$("#cmbPrice").change(function(){
fnChangeFormAction();
});
fnChangeFormAction();
});
function fnChangeFormAction(){
var action = $("#cmbPrice").val();
$("#frmMyForm").attr("action", action);
}
</script>

<form method="post" name="frmMyForm" id="frmMyForm" action='' >
<select class="price" name="cmbPrice" id="cmbPrice">
<option selected="selected" value="cart.php?a=add&amp;pid=72">Kr. 700.00,- årlig</option>
<option value="cart.php?a=add&amp;pid=73">Kr. 1400.00,- toårig</option>
<option value="cart.php?a=add&amp;pid=74">Kr. 1800.00,- treårig</option>
</select>
<input type="submit" value="Bestill" class="buy-now" />

1 个答案:

答案 0 :(得分:0)

当然,既然你想使用jquery,我认为你已经包含了jquery库。如果没有,您可以在“head”部分添加此行,并使用最新版本的jquery

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>

您可以使用googleapis的{​​{1}}托管版本,也可以在自己的网站上托管(不推荐)

在您的头部分

添加此代码:

jquery

然后像这样更改<script type="text/javascript"> $(document).ready(function(){ $("#cmbPrice").change(function(){ fnChangeFormAction(); }); fnChangeFormAction(); }); function fnChangeFormAction(){ var action = $("#cmbPrice").val(); $("#frmMyForm").attr("action", action); } </script>

form

就是这样......


更新 - 简单的完整代码...

<form method="post" name="frmMyForm" id="frmMyForm" action="">
<select class="price" name="cmbPrice" id="cmbPrice">
<option selected="selected" value="cart.php?a=add&pid=72">Kr. 999.00,- årlig</option>
<option value="cart.php?a=add&pid=73">Kr. 999.00,- toårig</option>
<option value="cart.php?a=add&pid=74">Kr. 999.00,- treårig</option>
</select>
<input type="submit" value="Bestill" class="buy-now" />
</form>