【问题标题】:Ajax form not submitting on ChromeAjax 表单未在 Chrome 上提交
【发布时间】:2017-04-02 06:23:57
【问题描述】:

我有一个在 Firefox 上运行但在 Chrome 上不运行的表单。表单通过 AJAX 提交。

<div class="container-fluid">
    <div class="row container">
        <?php if (count($products) != 0) { ?>
            <form action="/cmajax.php" method="GET" class="gform">
                <label class='gfield_label' for='input_1_4'>
                    Alege Magazinul
                    <span class='gfield_required'>*</span>
                </label>
                <select name='cMagazin' id='input_1_4' onchange='gf_apply_rules(1,[0]);' class='medium gfield_select' tabindex='1'>
                    <option value='Bucuresti - Baneasa' selected='selected'>Bucuresti - Baneasa</option>
                    <option value='Craiova'>Craiova</option>
                    <option value='Constanta'>Constanta</option>
                    <option value='Cluj'>Cluj</option>
                    <option value='Timisoara'>Timisoara</option>
                    <option value='Iasi'>Iasi</option>
                    <option value='Pitesti'>Pitesti</option>
                    <option value='Sibiu'>Sibiu</option>
                    <option value='Targu Mures'>Targu Mures</option>
                </select>

                <label class='gfield_label' for='input_1_1'>Nume</label>
                <input name='cName' id='input_1_1' type='text' value='' class='medium' tabindex='2' />

                <label class='gfield_label' for='input_1_5'>Telefon</label>
                <input name='cTelefon' id='input_1_5' type='text' value='' class='medium' tabindex='3' />

                <label class='gfield_label' for='input_1_3'>Email</label>
                <input name='cEmail' id='input_1_3' type='text' value='' class='small' tabindex='4' />

                <label class='gfield_label' for='input_1_6'>Mesaj</label>
                <textarea name='cText' id='input_1_6' class='textarea medium' tabindex='5' rows='10' cols='50'></textarea>
                <input name='cID' id='input_1_11' type='hidden' class='gform_hidden' value='<?php echo $productsList; ?>' />
                <input name='cmd' id='input_1_10' type='hidden' class='gform_hidden' value='sendCerere' /><br/><br/>

                <input type='button' id='gform_submit_button_1' class='rovereButton button gform_button' value='Cere Cotatie' tabindex='6' />
            </form>
        <?php } ?>
    </div>
</div>          
$('document').ready(function() {
    console.log('x');
    $('#gform_submit_button_1').click(function(event) {
        if ($('#input_1_5').val() == '') {
            event.preventDefault();
            alert('Va rugam completati numarul dvs de telefon!');
            return false;
        }
        if ($('#input_1_3').val() == '') {
            event.preventDefault();
            alert('Va rugam completati adresa dvs de email!');
            return false;
        }
        $('#gform_submit_button_1').prop("disabled", true);
    });

    $('.btnStergere').click(function(ev) {
        ev.preventDefault();
        var pidd = $(this).attr('data-cm-prodid');
        var btn = $(this);
        $.ajax({
            type: "POST",
            url: "/cmajax.php",
            data: {
                cmd: "remQuote",
                pid: pidd
            }
        }).done(function(msg) {
            location.reload();
        });
    });
});

我研究了类似的主题,尝试将提交按钮的类型更改为“按钮”而不是“提交”,检查了文档声明,但仍然没有找到解决方案。

控制台不会在 chrome 上显示任何错误。

可能是什么原因?

【问题讨论】:

  • 请求是否显示在开发者工具的网络选项卡中?
  • 您的 HTML 中没有 .btnStergere 元素。另请注意,最好挂钩formsubmit 事件,而不是按钮上的click
  • 在网络选项卡中找不到请求,这里是表单的链接:roveremobili.ro/cerere-cotatie(它需要先添加产品,所以请先单击此页面上的随机按钮: roveremobili.ro/mobilier/living/biblioteci)

标签: javascript jquery html ajax google-chrome


【解决方案1】:

您的 $.ajax 调用由 $('.btnStergere').click 处理,但实际上并不是具有此类的按钮 你大概想搬家

  $.ajax({
        type: "POST",
        url: "/cmajax.php",
        data: { cmd: "remQuote", pid: pidd }
        })
        .done(function( msg ) {
             location.reload();
        });     
    });     

 $('#gform_submit_button_1').click(function(event) {

jsfiddle link

试试这个:

$('document').ready(function(){

    $('#gform_submit_button_1').click(function(event) {
        if ($('#input_1_5').val() == '') {
            event.preventDefault();
            alert('Va rugam completati numarul dvs de telefon!');
            return false;
        }
        if ($('#input_1_3').val() == '') {
            event.preventDefault();
            alert('Va rugam completati adresa dvs de email!');
            return false;
        }
        $('#gform_submit_button_1').prop( "disabled", true );

    var pidd = $(this).attr('data-cm-prodid');      
    var btn = $(this);


    $.ajax({
        type: "POST",
        url: "/cmajax.php",
        data: { cmd: "remQuote", pid: pidd }
        })
        .done(function( msg ) {
             location.reload();
        });     
    });     
      

});
  <div class="container-fluid">
        <div class="row container">

        <form action="/cmajax.php" method="GET" class="gform">              
        <label class='gfield_label' for='input_1_4'>Alege Magazinul<span class='gfield_required'>*</span></label>           
        <select name='cMagazin' id='input_1_4' onchange='gf_apply_rules(1,[0]);' class='medium gfield_select' tabindex='1' >
            <option value='Bucuresti - Baneasa' selected='selected'>Bucuresti - Baneasa</option>
            <option value='Craiova' >Craiova</option>
            <option value='Constanta' >Constanta</option>
            <option value='Cluj' >Cluj</option>
            <option value='Timisoara' >Timisoara</option>
            <option value='Iasi' >Iasi</option>
            <option value='Pitesti' >Pitesti</option>
            <option value='Sibiu' >Sibiu</option>
            <option value='Targu Mures' >Targu Mures</option>
            </select>

        <label class='gfield_label' for='input_1_1'>Nume</label>
        <input name='cName' id='input_1_1' type='text' value='' class='medium' tabindex='2' />

        <label class='gfield_label' for='input_1_5'>Telefon</label>
        <input name='cTelefon' id='input_1_5' type='text' value='' class='medium'  tabindex='3' />

        <label class='gfield_label' for='input_1_3'>Email</label>
        <input name='cEmail' id='input_1_3' type='text' value='' class='small'  tabindex='4' />

        <label class='gfield_label' for='input_1_6'>Mesaj</label>
        <textarea name='cText' id='input_1_6' class='textarea medium' tabindex='5' rows='10' cols='50'></textarea>
        <input name='cID' id='input_1_11' type='hidden' class='gform_hidden' value='' />
        <input name='cmd' id='input_1_10' type='hidden' class='gform_hidden' value='sendCerere' />
        <br/><br/>
        <input type='button' id='gform_submit_button_1' class='rovereButton button gform_button' value='Cere Cotatie' tabindex='6' />
    
        </div></div>

【讨论】:

  • 如果没有按钮,它如何与 Firefox 一起使用?
  • @KilianStinson 它是剂量。 SporeDev 缺少一些东西
  • @SporeDev 看起来很简单,我可以帮你搞定
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-03
  • 2013-03-05
相关资源
最近更新 更多