我有兩個單獨的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>
表單是一個標籤,它有屬性。實際上,Action是表單標籤的一個屬性。
當用戶選擇複選框,單選按鈕(通過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有一個很簡單的
下面的示例代碼。
<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>