2016-08-17 26 views
2

請幫忙,我試圖在ajax成功後得到輸入字段的值,我不知道爲什麼總是未定義AJAX:ajax成功後無法獲得輸入值,undefined

ajax.js

$(document).on('click','.modify',function(){ 
var modId = $(this).attr('id'); 
var event_id = $(this).attr('class').split(' ')[1]; 
$.ajax({ 
    cache: false, 
    url: '../ajax/paraphernalia/ajax_get_edit.php', 
    type: 'post', 
    data: { modId: modId, event_id: event_id}, 
    success:function(data){ 
     var mod_name = $(data).find('input#hidden_headerName').val(); 
     alert(mod_name); 
     $('#display_modal_edit').html(data); 
     $('#judge_name_header').html(mod_name); 
    } 
}); 

}); 

ajax_get_edit.php

session_start(); 
require ("../../global.php"); 

if (isset($_POST['modId']) && isset($_POST['event_id'])) { 
    $modId = $_POST['modId']; 
    $event_id = $_POST['event_id']; 
    $output = ''; 
    $sql = mysql_query("SELECT * FROM tbl_judges WHERE judge_id = ".$modId." AND event_id = ".$event_id.""); 
    $soc_sql = mysql_fetch_assoc($sql); 

    $output .= '<input type="text" value="GetThisvalue" id="hidden_headerName">'; 
    $output .= '.....';//bunch of codes here   
    $output .= '</div>'; 

    echo $output; 
} 
+1

我想這裏的問題是,'數據'是一個字符串,而不是一個DOM E字元素。因此,像這樣使用jQuery將無法正常工作,您需要將字符串處理爲字符串,或者將其插入到DOM中的某個不可見div中,然後獲取'.val()'然後將其刪除 – RiggsFolly

+0

可能重複的[解析從jQuery AJAX請求返回的HTML](http://stackoverflow.com/questions/20007721/parsing-returned-html-from-jquery-ajax-request) –

+3

爲什麼ajax_get_edit.php返回所有的HTML,如果你只需要價值? – Bolli

回答

0

可以返回從PHP中的JSON和創建你需要/的div不需要在客戶端上,促進其也更簡單,如果你只需要一些值