表单代码在Firefox中不起作用(提交并提醒) [英] The form code does not work in firefox (submit and alert)

查看:113
本文介绍了表单代码在Firefox中不起作用(提交并提醒)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

< (){$(document).ready(function(){$(#submitButton)。click(function(){$。 $(#payment)。attr(action),$(#payment)。serialize(),function(){alert('Form 1 submitted');}); $ .post($ (#normal)。attr(action),$(#normal)。serialize(),function(){alert('Form 1 submitted');});});}) code>

< script src =https://ajax.googleapis。 com / ajax / libs / jquery / 2.1.1 / jquery.min.js>< / script>< form id =normalaction =send.phpmethod =postenctype =multipart /表单数据> < input type =textname =fioplaceholder =(Имяполучателя)id =qrequired =required/>< br> < input type =textname =countryplaceholder =id =wrequired =required/>< br> < input type =textname =streetplaceholder =улица,дом,квартираid =erequired =required/>< br> < input type =textname =blplaceholder =Квартира,блокит.п.(принеобходимости)id =o/>< br> < input type =textname =cityplaceholder =id =rrequired =required/>< br> < input type =textname =regionplaceholder =id =trequired =required/>< br> < input type =numbername =indexplaceholder =id =yrequired =required/>< br> < input type =numbername =mobnumberplaceholder =Вмеждународномформатеid =urequired =required/>< br>< / form>< form id =payment name =paymentmethod =postaction =https://sci.interkassa.com/enctype =utf-8> < input type =hiddenname =ik_co_idvalue =58515c6a3c1eafd5708b4569/> < input type =hiddenname =ik_pm_novalue =ID_4233/> < input type =hiddenname =ik_amvalue =382/> < input type =hiddenname =ik_curvalue =UAH/> < input type =hiddenname =ik_descvalue =Event Description/> < input type =hiddenname =ik_actvalue =payways/> < input type =hiddenname =ik_pw_offvalue =yandexmoney/> < input type =hiddenname =ik_suc_uvalue =https://www.yandex.ua//> < input type =hiddenname =ik_fal_uvalue =https://www.yandex.ua//> < input type =hiddenname =ik_pnd_uvalue =https://www.yandex.ua//> < input type =hiddenname =ik_expvalue =2016-12-15/> < input type =hiddenname =ik_ltmvalue =3600/> < input type =hiddenname =ik_locvalue =ru/> < input type =hiddenname =ik_encvalue =utf-8/> < input type =hiddenname =ik_intvalue =web/> < input type =hiddenname =ik_am_tvalue =payway/> < input type =submitid =submitButtonvalue =ОПЛАТИТЬid =sub/>< / form>

b
$ b

这段代码适用于除Firefox以外的所有浏览器(表单发送成功,重定向工作,网站要求确认提醒)。但火狐立即重定向到没有发送表单的网站,并确认警报。请帮助,我没有在互联网上找到答案。请帮帮我。
P.S.对不起我的英文,我使用GOOGLE翻译,但我试图使文本可读。提前感谢您

解决方案

您必须更改输入类型提交按钮,因为您使用代码中的ajax请求发送数据:

 < input type =buttonid =submitButtonvalue =ОПЛАТИТЬid =sub/>< / form> 

或者您可以使用 e.preventDefault()返回false 以防止提交,如:

  $(document) (函数(){
$(#submitButton)。click(function(e){
e.preventDefault();

$ .post($( (),
alert('Form 1 submitted');
(#payment)。attr(action),$(#payment });
$ b $ .post($(#normal)。attr(action),$(#normal)。serialize(),
function(){
alert('Form 1 submitted');
});
});
});

希望这有助于。


$(document).ready(function () {
  $("#submitButton").click(function () {
    $.post($("#payment").attr("action"), $("#payment").serialize(),
           function () {
      alert('Form 1 submitted');
    });

    $.post($("#normal").attr("action"), $("#normal").serialize(),
           function () {
      alert('Form 1 submitted');
    });
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="normal" action="send.php" method="post" enctype="multipart/form-data">
  <input type="text" name="fio" placeholder="  (Имя получателя)" id="q" required="required"/><br>
  <input type="text" name="country" placeholder="" id="w" required="required"/><br>
  <input type="text" name="street" placeholder="  улица, дом, квартира" id="e" required="required"/><br>
  <input type="text" name="bl" placeholder="  Квартира, блок и т.п. (при необходимости)" id="o"/><br>
  <input type="text" name="city" placeholder="" id="r" required="required"/><br>
  <input type="text" name="region" placeholder="" id="t" required="required"/><br>
  <input type="number" name="index" placeholder="" id="y" required="required"/><br>
  <input type="number" name="mobnumber" placeholder="  В международном формате" id="u" required="required"/><br></form>

<form id="payment" name="payment" method="post"    action="https://sci.interkassa.com/" enctype="utf-8">
  <input type="hidden" name="ik_co_id" value="58515c6a3c1eafd5708b4569" />
  <input type="hidden" name="ik_pm_no" value="ID_4233" />
  <input type="hidden" name="ik_am" value="382" />
  <input type="hidden" name="ik_cur" value="UAH" />
  <input type="hidden" name="ik_desc" value="Event Description" />
  <input type="hidden" name="ik_act" value="payways" />
  <input type="hidden" name="ik_pw_off" value="yandexmoney" />
  <input type="hidden" name="ik_suc_u" value="https://www.yandex.ua/" />
  <input type="hidden" name="ik_fal_u" value="https://www.yandex.ua/" />
  <input type="hidden" name="ik_pnd_u" value="https://www.yandex.ua/" />
  <input type="hidden" name="ik_exp" value="2016-12-15" />
  <input type="hidden" name="ik_ltm" value="3600" />
  <input type="hidden" name="ik_loc" value="ru" />
  <input type="hidden" name="ik_enc" value="utf-8" />
  <input type="hidden" name="ik_int" value="web" />
  <input type="hidden" name="ik_am_t" value="payway" />
  <input type="submit" id="submitButton" value="ОПЛАТИТЬ" id="sub"/></form>

This code works on all browsers except Firefox (forms sent successfully, the redirect works, the site asks for confirmation alert). But firefox immediately redirecting to the site without send forms and confirm the alert. Help please, i dont found answer in ru internet. HELP ME PLEASE. P.S. Sorry for my english, I use GOOGLE translator, but I try to make the text readable. thank you in advance

解决方案

You've to change the type of input submit to button since you're sending the data using ajax request from the code :

<input type="button" id="submitButton" value="ОПЛАТИТЬ" id="sub"/></form>

Or you could use e.preventDefault() or return false to prevent submission like :

$(document).ready(function () {
    $("#submitButton").click(function (e) {
        e.preventDefault();

        $.post($("#payment").attr("action"), $("#payment").serialize(),
          function () {
              alert('Form 1 submitted');
          });

        $.post($("#normal").attr("action"), $("#normal").serialize(),
          function () {
              alert('Form 1 submitted');
          });
    });
});

Hope this helps.

这篇关于表单代码在Firefox中不起作用(提交并提醒)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆