我有一個PHP文件中的表單,它接受用戶輸入的值並將數據發送到.txt文件。php變量在jquery.ajax請求
現在,當表單填寫完畢後,單擊'提交'按鈕並將用戶發送到'確認/完成'頁面,同時將收到的數據放入.txt文件時,它工作正常。
我想要做的就是使用ajax和jquery使表單=>完成/確認而不發送到其他頁面。
問題是用戶數據現在沒有被傳輸到.txt文件。
PHP:(confirmation.php)
<?php
$color = $_POST['color'];
$fp = fopen('userdata.txt', 'w');
$valstring = "What Color: " . $color . "\r\n";
fwrite($fp, $valstring);
fclose($fp);
?>
AJAX/JQUERY:(按鈕從form.php的點擊)
$(document).ready(function() {
var cir = {
load: $('<div />', { class: 'loading' }),
contain: $('#contain')
}
$('input[type="submit"]').on('click', function(e) {
e.preventDefault();
$.ajax({
url: 'confirmation.php',
type: 'POST',
beforeSend: function() {
cir.contain.append(cir.load);
},
success: function(data) {
cir.contain.html(data);
}
});
});
});
當使用userdata.txt文件上面的AJAX僅具有What Color:
進入它。用戶選擇的$color
值未被識別。
我知道代碼沒有ajax,但我希望有ajax(無頁面刷新)方法,如果可能的話。
在此先感謝您的幫助。
謝謝你試圖幫助我。我的表單有'method =「POST」'和'action =「confirmation.php」'set。這是需要的嗎?另外,我收到的用戶價值來自'選擇'。用戶值取自下拉選項,這是否改變了事情? – user1648449
如果你通過ajax發送數據,不需要它。試試看看它是如何工作的。如果你有一個選擇字段,你應該將該字段的'id'設置爲'color',以使上述代碼正常工作。 「返回false」部分將阻止表單以普通方式發送。 – Cyclonecode
好吧,使用你的代碼將值發送到confirmation.php頁面(我使用'echo'函數來檢查),但是userdata.txt文件是空的。 '$ valstring =「什麼顏色:」。 $顏色。 「\ r \ n」;'不被識別。價值正在繼續。 – user1648449