在表单操作与复选框或单选按钮之间交替进行
Alternate between form action with check box or radio button
我有两个独立的insert.php文件…我该如何根据用户是否勾选了复选框或单选按钮来在它们之间进行切换呢?
例如,如果我的html设置为....
<form action="x.php" method="post">
,然后用户选中复选框,所以表单需要更改为y.php
<form action="y.php" method="post">
这将如何实现?
你可以在单选按钮上使用javascript函数,
<script type="text/javascript">
function OnSubmitForm()
{
if(document.myform.operation[0].checked == true)
{
document.myform.action ="x.php";
}
else
if(document.myform.operation[1].checked == true)
{
document.myform.action ="y.php";
}
return true;
}
</script>
<form name="myform" onsubmit="return OnSubmitForm();">
<input type="radio" name="operation" value="1" checked>radio1
<input type="radio" name="operation" value="2">radio2
<p>
<input type="submit" name="submit" value="save">
</p>
</form>
表单是一个标签,它有属性。动作实际上是表单标签的一个属性。
当用户选择复选框,单选按钮时,你可以用javascript改变表单标签的属性(通过javascript中的catch事件)
你应该这样做。
<form id="myForm" action="x.php" method="post">
<input type="checkbox" id="chkbox" />
</form>
<script type="text/javascript">
$(document).ready(function(){
$('#chkbox').click(function() {
// `this` keyword is the native DOM object
$('myForm').attr('action', this.checked? 'y.php' : 'x.php');
});
});
</script>
如果你需要改变表单的动作,并允许使用javascript有一个相当简单的
- 给表单一个名字,这样你就可以用javascript瞄准它。
- 创建一个带有ID的复选框,然后使用if语句更改表单的属性'action'。
示例代码如下:
<form name="form1" action="x.php" method="post">
<input id="changeAction" type="checkbox" />
</form>
<script type="text/javascript">
var checkBox = document.getElementById('changeAction');
var form = document.form1;
checkBox.onclick = function() {
(checkBox.checked ? form.setAttribute('action', 'y.php') : form.setAttribute('action', 'x.php'))
console.log(form);
}
</script>
使用jQuery和低调的JavaScript…
<script type="text/javascript">
$(function(){
$('#MyForm').submit(function(){
var action = $(this).find('input[name=operation]:checked').val();
$(this).attr('action', action);
});
});
</script>
<form id="MyForm" method="post">
<input type="radio" name="operation" value="x.php" checked>radio1
<input type="radio" name="operation" value="y.php">radio2
<p>
<input type="submit" name="submit" value="save">
</p>
</form>
一些内联javascript可以快速完成这个任务
jQuery的例子:<input type="radio" name="operation" value="1" checked onclick="$(this).parent().attr('action', 'x.php');">radio1
<input type="radio" name="operation" value="2" onclick="$(this).parent().attr('action', 'y.php');">radio2
普通js
<input type="radio" name="operation" value="1" checked onclick="this.parentNode.action='x.php';">radio1
<input type="radio" name="operation" value="2" onclick="this.parentNode.action='y.php';">radio2
相关文章:
- 多个单选按钮组相互干扰
- 是否可以禁用jquery中的单个单选按钮
- Javascript:无法获取变量中的单选按钮值
- 通过ajax到php文件获取单选按钮值
- 互斥单选按钮和相应的输入字段
- 用于选择MVC3中单选按钮值的JavaScript
- 如何获取单选按钮的多个实例的选定单选按钮值
- react testUtils模拟点击单选按钮而不触发onchange
- 当选择组中的单选按钮时,jQuery addClass
- Angularjs无法将单选按钮与嵌套范围内的模型绑定
- 客户端单选按钮列表验证
- Javascript:图像与单选按钮的值不匹配
- 如何在Javascript中将单选按钮值保存到cookie中
- JQuery在2个单选按钮组之间同步所选单选按钮
- 在两个单选按钮之间切换
- 访问在html标签之间滑动的单选按钮的值
- 在表单操作与复选框或单选按钮之间交替进行
- 如何在单选按钮之间自动切换
- 如何在单选按钮之间建立关系
- 使背景像单选按钮一样在打开状态和关闭状态之间切换,当单击它时