Javascript window.open在firefox中无法正常工作

Javascript window.open在firefox中无法正常工作,javascript,jquery,html,firefox,Javascript,Jquery,Html,Firefox,我有以下表格: <form id="platba"> <label class="c-input c-radio"> <input id="radio1" name="radio" type="radio" value="https://www.paypal.com/uk/webapps/mpp/home"> <span class="c-indicator"><

我有以下表格:

<form id="platba">
             <label class="c-input c-radio">
              <input id="radio1" name="radio" type="radio" value="https://www.paypal.com/uk/webapps/mpp/home">
              <span class="c-indicator"></span>
              <img src="img/payments/paypal.png" width="80" style="margin-top:-5px">&nbsp Paypal
            </label>
             <br />
             <br />
            <label class="c-input c-radio">
              <input id="radio2" name="radio" type="radio" value="http://www.mbank.cz/osobni/">
              <span class="c-indicator"></span>
              <img src="img/payments/mbank.png" width="80" style="margin-top:-5px">&nbsp mBank
            </label>
             <br />
             <br />
            <label class="c-input c-radio">
              <input id="radio2" name="radio" type="radio" value="http://example.com/platebnikarta">
              <span class="c-indicator"></span>
              <img src="img/payments/visa_mastercard.png" width="80" style="margin-top:-5px">&nbsp Platební karta
            </label>
            <hr>            

            <button type="submit" class="btn btn-primary">Pokračovat v placení</button>
</form>
它在Google Chrome和IE中运行良好,但在firefox中,它只是将单选按钮的值添加到地址栏中。 例如:


您在
事件中的
事件
。preventDefault
未定义。您必须在调用它的函数中定义它:

$("#platba").submit(function(event) {
  event.preventDefault();
});
以下是在Firefox中也可以使用的更正代码(我自己在JSFIDLE上测试过):

这是代码注意:此处不起作用,因为您无法在StackOverflow上从这些代码段弹出窗口

我还修复了你第三台收音机的ID:)

$(文档).ready(函数(){
$(“#platba”).submit(函数(事件){
event.preventDefault();
var loc=$('input[name=“radio”]:checked').val();
窗口。打开(loc,“U空白”);
//self.close();
});
});

贝宝


姆班克

普拉特布尼卡尔塔
Pokračovat诉placení
您在
事件中的
事件
。preventDefault
未定义。您必须在调用它的函数中定义它:

$("#platba").submit(function(event) {
  event.preventDefault();
});
以下是在Firefox中也可以使用的更正代码(我自己在JSFIDLE上测试过):

这是代码注意:此处不起作用,因为您无法在StackOverflow上从这些代码段弹出窗口

我还修复了你第三台收音机的ID:)

$(文档).ready(函数(){
$(“#platba”).submit(函数(事件){
event.preventDefault();
var loc=$('input[name=“radio”]:checked').val();
窗口。打开(loc,“U空白”);
//self.close();
});
});

贝宝


姆班克

普拉特布尼卡尔塔
Pokračovat诉placení
不确定这是否会导致您的问题,但我注意到的第一件事是,您有两台收音机具有相同的
id=“radio2”
!(第二个和第三个)。第三个应该是
id=“radio3”
可能窗口被阻止,被视为弹出窗口?尝试删除\u blank,它将作为新选项卡打开。谢谢,我更改了id,但问题仍然存在。删除“\u blank”并没有解决问题。afaik。物理点击事件(无模拟)后40毫秒内未触发的每个window.open都被视为弹出窗口。使用模态盒不确定这是否会导致您的问题,但我注意到的第一件事是,您有两台收音机具有相同的
id=“radio2”
!(第二个和第三个)。第三个应该是
id=“radio3”
可能窗口被阻止,被视为弹出窗口?尝试删除\u blank,它将作为新选项卡打开。谢谢,我更改了id,但问题仍然存在。删除“\u blank”并没有解决问题。afaik。物理点击事件(无模拟)后40毫秒内未触发的每个window.open都被视为弹出窗口。使用模态盒谢谢,它解决了我的问题。不客气!专业提示:在firefox中打开控制台(右键单击页面上的任意位置,然后单击Inspect元素,然后选择console选项卡),您将看到:
事件未定义(错误:)谢谢,它解决了我的问题。非常欢迎!专业提示:在firefox中打开控制台(右键单击页面上的任意位置,然后单击Inspect元素,然后选择console选项卡),您将看到:
事件未定义
错误:)
$("#platba").submit(function(event) {
  event.preventDefault();
});