我有两个单独的 insert.php 文件...我将如何在它们之间进行切换,具体取决于用户是否勾选了复选框或单选按钮。
例如,如果我的 html 是这样设置的......
<form action="x.php" method="post">
然后用户勾选复选框,因此表单需要更改为 y.php
<form action="y.php" method="post">
这将如何实现?
我有两个单独的 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 中的 catch 事件)时,您可以通过更改表单标签的属性来使用 javascript 来实现。
这就是你的做法。
<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,则有一个非常简单的方法
下面的示例代码。
<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>
一些内联 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...
<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>