Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何改变”;行动“;属于<;表格>;何时<;无线电>;是否使用jQuery进行检查?_Jquery_Event Handling - Fatal编程技术网

“如何改变”;行动“;属于<;表格>;何时<;无线电>;是否使用jQuery进行检查?

“如何改变”;行动“;属于<;表格>;何时<;无线电>;是否使用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> 以下方面应起

我想实施的是:

选中“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>

以下方面应起作用:

$(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>