2017-06-06 58 views
1

這裏是我的HTML樣本:爲什麼我的SELECT標籤的值沒有通過AJAX發佈請求提交?

<form class="form-horizontal" action="#" id="sendstuff"> 
    <select name="some_name"> 
    <option value="somevalue1">test value1</option> 
    <option value="somevalue2">test value2</option> 
    <option value="somevalue3">test value3</option>  
    </select> 
    <button id="sb_btn"> Submit </button> 
</form> 

這裏是AJAX代碼:

$('#sb_btn').on('click', function() { 
    $.ajax({ 
     type: 'post', 
     url: 'some_url', 
     data: $('#sendstuff').serialize() 
    }) 
    .done(function(data) { 
     data = jQuery.parseJSON(data); 
     alert(data.some_name); 
    }); 
}); 

下面是PHP腳本,被稱爲:

$data['some_name'] = $this->input->post('some_name')//i'm using codeigniter; 
echo json_encode($data); 

然而,我得到一個空值爲選擇輸入。

編輯 任何幫助是非常感謝的傢伙。我仍然沒有弄清楚什麼是錯的。

編輯 不知道這個帖子是否有任何codeigniter專家,但我解決了它。這是因爲Codeigniter的'$ this-> input-> post('somename')'方法出於某種原因無法正常工作。儘快將所有codeigniter的輸入命令添加到'$ _POST ['somename']'中,它解決了這個問題。下面是修改後的(工作)的PHP腳本代碼:

$data['some_name'] = $_POST['some_name']; 
    echo json_encode($data); 
+0

事件未定義。修復不會導致問題的錯誤 – guradio

+0

,但不要將其保留到我刪除該行的那一點。 – Dave2345

+0

你能做到這一點的數據? 'data:{some_name:$('select [name = some_name] option:selected')。val()},' – guradio

回答

0

home文件

<!DOCTYPE html> 
<html> 
<head> 
    <title>Home Page</title> 
    <script type="text/javascript" src="js/jquery.js"></script> 
</head> 
<body> 
<form class="form-horizontal" action="#" id="sendstuff"> 
    <select name="some_name"> 
    <option value="somevalue1">test value1</option> 
    <option value="somevalue2">test value2</option> 
    <option value="somevalue3">test value3</option>  
    </select> 
    <button id="sb_btn"> Submit </button> 
</form> 
<script type="text/javascript"> 
$('#sb_btn').on('click', function() { 

    $.ajax({ 
     type: 'post', 
     url: 'index.php', 
     data: $('#sendstuff').serialize() 
    }) 
    .done(function(data) { 
     data = jQuery.parseJSON(data); 
     alert(data.some_name); 
    }); 
    return false; 
}); 
</script> 
</body> 
</html> 

阿賈克斯文件

$數據[ 'some_name'] = $ _ POST ['some_name 「];

echo json_encode($ data);

+0

你的觀點是什麼? – Dave2345

+0

您可以使用此代碼進行表單提交,而無需刷新頁面。如果頁面刷新比您丟失了發佈數據。 –

+0

好的...我不認爲你知道ajax是如何工作的以及我的問題是什麼。 – Dave2345

相關問題