fra*_*ran 4 javascript forms url action dynamic
当动态更改表单操作URL时,当表单提交时,它仍将使用默认操作URL,任何人都知道为什么?请看下面的一个简单示例:
<form action="test.php" method="get" id="test">
<select name="id" onChange="formSubmit(this)">
<option value="abc">abc</option>
<option value="xyz">xyz</option>
</select>
</form>
<script type="text/javascript">
function formSubmit(element){
var url = $("#test").attr("action", url);
var newParam = "&new=123";
url += "?" + element.name + "=" + element.value + newParam;
//e.g. formurl now = 'test.php?id=xyz&new=123';
$("#test").attr("action", url);
$("#test").submit();//the form will submit to test.php?id=xyz instead of the new URL
}
</script>
Run Code Online (Sandbox Code Playgroud)
谢谢.
您url最初在第一行上为变量分配空值:
var url = $("#test").attr("action", url);
Run Code Online (Sandbox Code Playgroud)
它应该是:
var url = $("#test").attr("action");
Run Code Online (Sandbox Code Playgroud)
你还需要获得form元素get或[0]简写:
$("#test")[0].submit();
Run Code Online (Sandbox Code Playgroud)
这是你的功能应该如何:
function formSubmit(element){
var url = $("#test").attr("action");
var newParam = "&new=123";
url += "?" + element.name + "=" + element.value + newParam;
$("#test").attr("action", url);
$("#test")[0].submit();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7063 次 |
| 最近记录: |