Как исправить ajax запрос / ответ для мобильных браузеров в моем коде - PullRequest
0 голосов
/ 23 января 2019

код, показанный на рисунке Этот код прекрасно работает в настольных браузерах, но для мобильного браузера непосредственно перенаправляет на URL-адрес, не работает в приведенном ниже коде ... Чтобы нажать кнопку "Отправить", введите данные, отправленные наprocess-data.php через submit-data.js и ответ, показанный в диапазоне

 **form.php**                           
<script  src="https://code.jquery.com/jquery-1.6.4.js"></script>    
<script src="js/form/submit-data.js"></script>    

<form id="feed_<?php echo$type_id;?>" action="include/process_data.php" method="post">    
<input type="hidden" name="cmd_<?php echo$type_id;?>" value="<?php echo$type_id; ?>">    
<input type="hidden" name="item_<?php echo$type_id;?>" value="<?php echo $type_name;?>">    
<input type="hidden" name="amount_<?php echo$type_id;?>" value="<?php echo $ac_p;?>">    
<input type="submit" class="fa fa-chevron-down" value="Submit">    
</form>    
<span id="dFcn_<?php echo$type_id;?>"></span>    

submit-data.js

//submit-data.js        
$(document).ready(function() {    

    $('form').submit(function(event) {    
    var charid = this.id;    
    var idsplit = charid.split('_');    
    var getid = idsplit[1];    
    var cmsd=$('input[name=cmd_'+getid+']').val();    

    $('.form-group').removeClass('has-error'); // remove the error class    
    $('.help-block').remove(); // remove the error text    
    // get the form data    
    var formData = {    
        'cmd'               : $('input[name=cmd_'+getid+']').val(),    
        'item'          : $('input[name=item_'+getid+']').val(),    
        'amount'    : $('input[name=amount_'+getid+']').val()    
    };    
    $.ajax({    
        type        : 'POST',    
        url         : 'include/process_data.php',    
        data        : formData,    
        dataType    : 'json',    
        encode      : true    
    })    
    .done(function(data) {    
        //console.log(data);     

        if ( ! data.success) {    
            // errors message    
            $('#dFcn_'+cmsd+'').append('<div class="alert alert-success">' + data.message + '</div>');    
        } else {    
            //success message!    
            $('#dFcn_'+cmsd+'').append('<div class="alert alert-success">' + data.message + '</div>');    
        }    
    })    

    //stop refreshing the page    
        event.preventDefault();    
    });    

});    

process_data.php

  <?php    
//array    
$data= array();    

if (empty($_POST['cmd']) && empty($_POST['item']) && empty($_POST['amount']))    
    $POST_DATA_FALIURE = 'POST DATA FALIURE';    

if ( ! empty($POST_DATA_FALIURE)) {    
    $data['success'] = false;    
    $data['errors']  = $POST_DATA_FALIURE;    
} else {    
    $data['success'] = true;    
    $data['message'] = 'SUCCESS MESSAGE';    
}    
echo json_encode($data);    
?>    

1 Ответ

0 голосов
/ 25 января 2019

На самом деле форма была в теге таблицы "td" и на той же странице слишком много конфликтов js, после удаления внешних связанных js (приведенных ниже), это работает для меня в кросс-браузере.
[Примечание:] Однако с помощью этой технологии мы можем генерировать несколько форм в цикле while, отправлять несколько данных формы и получать ответ каждой формы через ajax без перезагрузки страницы, спасибо.

[these js was linked for making table responsive,data search type]    
DataTables 1.10.19    
Bootstrap integration for DataTables' Responsive    
Responsive 2.2.3    
FixedHeader 3.1.5    
DataTables Bootstrap 3 integration    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...