我有两个单独的insert.php文件...如果用户有或没有勾选复选框或单选按钮,我将如何在它们之间交替。
例如,如果我的html设置如此......
<form action="x.php" method="post">
然后用户勾选复选框,因此表单需要更改为y.php
<form action="y.php" method="post">
如何实现这一目标?
答案 0 :(得分:3)
你可以在单选按钮上使用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>
答案 1 :(得分:0)
表单是一个标记,它有属性。 Action实际上是form标签的一个属性。
当用户选择复选框,radiobutton(通过javascript中的catch事件)时,您可以使用javascript通过表单标记的更改属性来执行此操作。
答案 2 :(得分:0)
你就是这样做的。
<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>
答案 3 :(得分:0)
如果您需要更改表单的操作并允许使用javascript,则有一个非常简单的
以下示例代码。
<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>
答案 4 :(得分:0)
一些内联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
Plain 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
答案 5 :(得分:0)
使用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>