2012-08-22 54 views
0

我想要做的是通過jquery選擇獲取所選元素的值。之後,這些值通過ajax發佈到php腳本中,然後從數據庫中檢索數據並將其顯示在同一頁面上(稱爲autocompete)。

var marvalue=$("input[name=m_status]:checked").val(); 
var fromhvalue=$("#fromheight").val(); 
var tohvalue=$("#toheight").val(); 
var value = $("#edu_det1").val(); 
alert (value); 
var regvalue = $("#religion").val(); 
alert (regvalue); 
var occvalue = $("#occupation").val(); 
alert (occvalue); 
var convalue = $("#country").val(); 
alert (convalue); 

警報有檢查正確的值。正如你看到上面的代碼將從不同的輸入元素獲取值。 下面是我用來張貼代碼到PHP

/*        
$.post("regsearch.php", {queryString: ""+value+"",queryString1: ""+marvalue+"",queryStringfage: ""+fage+"",queryStringtage: ""+tage+""+queryStringfromh: ""+fromhvalue+""+queryStringtoh: ""+tohvalue+""+}, function(data) { // Do an AJAX call 
      $('#suggestions').fadeIn(); // Show the suggestions box 
      $('#suggestions').html(data); // Fill the suggestions box 
     }); 
             */ 

問題:顯示

當評論被刪除,也沒有警報彈出既不結果。確定沒有發佈查詢的結果。
主要部分是,當我使用下面的代碼,只保留m_statusedu_det1它的作品。

marvalue=$("input[name=m_status]:checked").val(); 
alert (marvalue); 

var value = $("#edu_det1").val(); 

alert (value); 

上面的後置代號是

$.post("regsearch.php", { 
    queryString: ""+value+"", 
    queryString1: ""+marvalue+"", 
    queryStringfage: ""+fage+"",queryStringtage: ""+tage+"" 
}, function(data) { 
    // Do an AJAX call 
    $('#suggestions').fadeIn(); // Show the suggestions box 
    $('#suggestions').html(data); // Fill the suggestions box 
}); 

年齡的代碼,並驗證不加入。什麼是問題以及如何解決這個問題?

+0

什麼是查詢字符串的領域?我沒有看到這在任何地方,但在$ .post() – 2619

+0

querystring包含在PHP腳本中讀取的值像'$ queryString = $ db-> real_escape_string($ _ POST ['queryString']);' –

回答

0

首先,您應該使用您的控制檯來查看Javascript錯誤,因爲我確信這會產生一些錯誤。例如,查詢字符串是未定義的。

我也想console.log而不是警報,它不那麼討厭和更多的信息。

然後:你不需要使用f.e. 「」+ marvalue +「」 - 只是使用marvalue。另一方面,f.e.的queryString應該被引用...

$.post("regsearch.php", {'queryString':value,'queryString1': marvalue,'queryStringfage':fage,'queryStringtage':tage,'queryStringfromh': fromhvalue,'queryStringtoh':tohvalue}, function(data) { 
      $('#suggestions').fadeIn(); 
      $('#suggestions').html(data); 
}); 
+0

即使使用什麼也沒有效果你是說! –

0

這將是更好,如果你使用jquery serialize()功能。這會讓你的生活更輕鬆地處理表單。

var querstring = $(form).serialize(); 

都有助於

0

我猜用ajax後jQuery.ajax()會做同樣的事情,你甚至可以序列化在你的頁面中的字段。

http://api.jquery.com/jQuery.ajax/#jQuery-ajax-settings

我已經做了類似類型的代碼

UserName是哪個我傳遞

 var data = $('#Username').serialize(); 
     $('#usernameCheck').empty(); 

     if (!$("form").validate().element("#Username")) 
      return; 

     $.ajax({ 
      url: '/SignUp/CheckUsername', 
      type: 'POST', 
      data: data, 
      async: true, 
      success: function (result) { 
       if (result == 1) { 

        $('#usernameCheck').html('<font color=green>Username available</font>'); 
        usernameOK = true; 
       } 
       else if (result == 2) { 

        $('#usernameCheck').html('<font color=red>Username not available</font>'); 
        usernameOK = false; 
       } 
       else { 
        $('#usernameCheck').empty(); 
        usernameOK = false; 
       } 

      } 
     });