2015-06-08 2 views
3

Это мой код ajax, который отлично работает, если я показываю, используя id.Передача возвращаемой переменной из ajax в php

$("#masa").change(function() 
    { //if theres a change in the nokakitangan textbox 

     var masa = $("#masa").val(); 
     var tkh_kerja = $("#tkh_kerja").val(); 
     //Get the value in the nokakitangan textbox 

     if(tkh_kerja=='') 
     { 
      $("#cek_tarikh").html('<font color="Red"> &nbsp; Sila Isi Maklumat Tarikh Mula Bekerja </font>'); 
     } 

     else 
     { 
      $("#cek_tarikh").html('<align="absmiddle">&nbsp;Cek Tarikh Akhir...'); 
      $.ajax 
      ({ //Make the Ajax Request 
       type: "POST", 
       url: "ajax_cek_tarikhakhir.php", //file name 
       data: "bulan="+ masa +"&tkh_kerja="+tkh_kerja, //data 
       success: function(cekmasa) 
       { 
        $("#cek_tarikh").ajaxComplete(function(event, request) 
        { 
         $("#cek_tarikh").val(cekmasa); 

        }); 
       } 
      }); 
     } 

     return false; 
    }); 

проблема в том, может ли значение «cekmasa» перейти на php.? Мне нужно использовать это значение для выполнения некоторого кода в php. возможно ли получить данные из ajax? на той же странице.

нет никаких проблем, когда я возвращать значение в

<input align='right' type="text" name="tkh_akhir" maxlength="3" id="cek_tarikh" class="span2" readonly/> 
+0

Вы должны отправить еще один запрос ajax в какой-либо файл php, чтобы выполнить –

+0

Это не будет иметь значения @Saty, и вместо этого оно должно быть 'data: {bulan: masa, tkh_kerja: tkh_kerja}' –

+0

Попробуйте 'alert (cek masa) 'и проверьте, получаете ли вы ответ –

ответ

0

вы можете вызвать другую АЯКС функцию, чтобы использовать файл PHP в ответ успеха, как показано ниже

$("#masa").change(function() 
    { //if theres a change in the nokakitangan textbox 

     var masa = $("#masa").val(); 
     var tkh_kerja = $("#tkh_kerja").val(); 
     //Get the value in the nokakitangan textbox 

     if(tkh_kerja=='') 
     { 
      $("#cek_tarikh").html('<font color="Red"> &nbsp; Sila Isi Maklumat Tarikh Mula Bekerja </font>'); 
     } 

     else 
     { 
      $("#cek_tarikh").html('<align="absmiddle">&nbsp;Cek Tarikh Akhir...'); 
      $.ajax 
      ({ //Make the Ajax Request 
       type: "POST", 
       url: "ajax_cek_tarikhakhir.php", //file name 
       data: 
       { 
        bulan:masa, 
        tkh_kerja:tkh_kerja 
        }, //data 
       success: function(cekmasa) 
       { 
        $("#cek_tarikh").ajaxComplete(function(event, request) 
        { 
         $("#cek_tarikh").val(cekmasa); 
      $.ajax 
      ({ //Make another Ajax Request 
       type: "POST", 
       url: "", //file name 
       data: 
       { 

        }, //data 
       success: function() 
       { 
       } 
       }); 

        }); 
       } 
      }); 
     } 

     return false; 
    }); 
+0

Я хочу получить значение от ajax до php на той же странице – user3487681

+0

ok, так что вам нужно получить ответ в формате json и чем вы можете использовать ответ –

1

нет, это невозможно.
Как только ваша страница PHP обрабатывается сервером, он отправляет сгенерированный вывод клиенту. и PHP не выполняется, если вы не перезагружаете страницу или не переходите на другую страницу в своем браузере.

Дополнительная информация: Это то, что часто путают люди, которые начинают работать с ajax. вы используете ajax, потому что вам нужно какое-то «поведение в реальном времени», не перезагружая целую страницу html. но ajax все еще выполняется вашим браузером на стороне клиента.

упрощена, что это то, что вы хотите достичь с помощью AJAX, сообщение между вашим браузером и сервером:

client(browser) <- ajax -> server(PHP) 


но то, что вы просите что-то вроде этого:

server(PHP) <- ajax -> server(PHP) 

, который не работает и на самом деле не имеет смысла, если вы думаете об этом.

+0

спасибо за объяснение – user3487681

+0

@ user3487681 добро пожаловать –

0

Вы можете сделать одно. Вы можете сохранить ответ ajax в сеансе php или cookie, а затем просто обновить страницу в ответ на ajax.

//File: ajax_cek_tarikhakhir.php 
// Your ajax handling code. 
if(isset($__SESSION('ckmasa')){ 
    $ckmasa = $__SESSION('ckmasa');  
    // use this $ckmasa for your php 
} 

$ckmasa = $output; // $ckmasa have data which you send to ajax response. 
$__SESSION['ckmasa'] = $ckmasa; 
echo $ckmasa; 
return; 

Для вашего jQuery. Сделайте следующее.

$ ("# Masa"). Изменить (функция() {// если Тереза ​​нет изменения в nokakitangan текстовое поле

var masa = $("#masa").val(); 
    var tkh_kerja = $("#tkh_kerja").val(); 
    //Get the value in the nokakitangan textbox 

    if(tkh_kerja=='') 
    { 
     $("#cek_tarikh").html('<font color="Red"> &nbsp; Sila Isi Maklumat Tarikh Mula Bekerja </font>'); 
    } 

    else 
    { 
     $("#cek_tarikh").html('<align="absmiddle">&nbsp;Cek Tarikh Akhir...'); 
     $.ajax 
     ({ //Make the Ajax Request 
      type: "POST", 
      url: "ajax_cek_tarikhakhir.php", //file name 
      data: "bulan="+ masa +"&tkh_kerja="+tkh_kerja, //data 
      success: function(cekmasa) 
      { 
       $("#cek_tarikh").ajaxComplete(function(event, request) 
       { 
        $("#cek_tarikh").val(cekmasa); 
        // Reload page 
        location.reload(); 
       }); 
      } 
     }); 
    } 

    return false; 
}); 

Я просто перегружается свою страницу на Ajax ответ. Понятия не имею как ваш код на стороне сервера, но я попытался дать краткую информацию, надеюсь, что это поможет вам. Я не тестировал код, написанный выше. Извините за мой плохой английский.