2017-02-17 65 views
1

我使用javascript動態創建了一些文本框。 這裏是javascript代碼:在PHP代碼中使用javascript訪問動態創建元素的值

$(document).on('click','#AddHaContactNumberButton',function(e){ 
e.preventDefault(); 
var outerDiv = document.getElementById("HaContactDiv"); 
var textboxDiv = document.createElement('div'); 
textboxDiv.className = 'inputs'; 
var input = document.createElement('input'); 
input.type = "text"; 
input.setAttribute('name','numbersshowbox[number]'); 
textboxDiv.appendChild(input); 
numberinfoDiv.appendChild(textboxDiv); 
outerDiv.appendChild(numberinfoDiv); 
}); 

現在,我想在PHP代碼來訪問提交按鈕點擊這些文本框的值,然後將其保存到數據庫中。 這裏是HTML代碼:

<FORM ID="AddFORM" NAME="AddFORM" ACTION="./admin.php" METHOD=POST><br> 
    <div class="clear"> 
    <INPUT CLASS="button" TYPE=SUBMIT NAME="AddHaContactNumberButton" VALUE="Add" ID="AddHaContactNumberButton"> 
    </div> 
    <div class="left-text-align relative-position"> 
    <INPUT CLASS="button" TYPE=SUBMIT NAME="AddHaContactButton" VALUE="Save" ID="AddHaContactButton"> 
    </div> 
    </FORM> 

我的PHP代碼:

if ($AddHaContactButton == "Save") { 
    $test = $_REQUEST['numbersshowbox[number]']; 
} 

問題是$測試爲空。我搜索並發現,因爲JavaScript是客戶端和PHP是服務器端,我不能在PHP中獲得的價值,除非我使用Ajax請求。所以我下面寫的Ajax請求:

$(document).on('click','#AddHaContactButton',function(e){ 
e.preventDefault(); 
currentForm = document.getElementById("AddFORM"); 
var numberarray= currentForm.elements['numbersshowbox[number]']; 
if (numberarray != null) { 
    var arry = []; 
    for (var i = 0; i < typearray.length; i++) { 
     arry.push([typearray[i].value, numberarray[i].value]); 
    $.ajax({ 
     url: 'savePhoneNumbersInDatabase.php', 
     type: 'GET', 
     data: { numbersArray: arry}, 
     success: function(data){ 
      currentForm.submit(); 
     } 
    }); 
} 
}); 

現在它工作正常,但問題是,我想在數據庫中的數據保存回發。我的意思是我想點擊提交按鈕後刷新頁面。

回答

1

如果你的目標是點擊事件和$阿賈克斯()調用後,只需刷新頁面,添加以下的AJAX選項成功回調的結束:

location.reload(); 

除了簡單地回答你問題,我認爲最好的做法是將ajax調用附加到表單的提交事件,而不是按鈕的單擊事件。除非有令人信服的理由,否則你還沒有這樣做。例如:

$('#AddFORM').submit(<submit handler>) 
+0

感謝您的回覆。讓我詳細說明我的問題。我有一個表單,可以獲取聯繫人信息,如姓名地址和...在此表單中,我有一個用於添加聯繫人號碼的按鈕。通過按下這個按鈕,一些texbox會出現。在我的PHP代碼中,我可以獲取名稱地址和...作爲_POST變量,並將它們保存在數據庫中。但我不知道我應該如何處理這些聯絡號碼。我寫了我的ajax請求,但首先必須將名稱和地址保存到數據庫中,然後根據聯繫人ID將聯繫號碼保存到另一個表中。 – Amir