“如何改变”;行动“;属于<;表格>;何时<;无线电>;是否使用jQuery进行检查?
我想实施的是: 选中“check2”时,将“action”值更改为“2.html”“如何改变”;行动“;属于<;表格>;何时<;无线电>;是否使用jQuery进行检查?,jquery,event-handling,Jquery,Event Handling,我想实施的是: 选中“check2”时,将“action”值更改为“2.html” 选中“check1”后,将“action”值更改回“1.html”这将解决您的问题 <form action="1.html"> <input type="radio" id="check1" name="check" /> <input type="radio" id="check2" name="check" /> </form> 以下方面应起
选中“check1”后,将“action”值更改回“1.html”这将解决您的问题
<form action="1.html">
<input type="radio" id="check1" name="check" />
<input type="radio" id="check2" name="check" />
</form>
以下方面应起作用:
$(function(){
$('#check1').click(function() {
$(this).parent().attr('action', '1.html');
});
$('#check2').click(function() {
$(this).parent().attr('action', '2.html');
});
});
虽然上面的答案是正确的,但你在做这类事情时需要小心 例如,假设您单击check2。它改变了动作。您可以提交表单,也可以转到其他页面。现在你按下后退按钮 浏览器重新加载页面*,将表单的操作重置为HTML中给定的值。但是浏览器会记住以前在表单字段中设置的值,因此在没有单击事件的情况下仍会选择check2:收音机的状态与表单操作的状态不匹配 为了避免类似的问题,您应该始终在页面加载时扫描表单值,并更新依赖于它们的任何内容 一般来说,您应该尝试使用单个操作,由接收服务器端脚本决定执行什么操作,而不是动态更改操作。这避免了上述错误,并阻止了非JS UAs上的表单破坏 *:如果页面仍在加载的页面DOM缓存中,Firefox可能不会重新加载该页面。
$('[name=“abc”][value=“abc”]')。单击(函数(){
$("#check1").click
(
function()
{
$("form").attr("action", "1.html");
}
);
$("#check2").click
(
function()
{
$("form").attr("action", "2.html");
}
);
$(“.test”).attr(“操作”http://localhost/test.php");
});
$('[name=“def”][value=“def”]')。单击(函数(){
$(“.test”).attr(“操作”http://localhost/test1.php");
});
$('[name="abc"][value="abc"]').click(function () {
$(".test").attr("action", "http://localhost/test.php");
});
$('[name="def"][value="def"]').click(function () {
$(".test").attr("action", "http://localhost/test1.php");
});
<form name="form" class="test" action="http://localhost/test.php">
<input type="radio" name="abc" value="abc" />
<input type="radio" name="def" value="def" />
</form>