2017-02-17 25 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

相关问题