javascript - 在 PHP 代码中使用 JavaScript 访问动态创建元素的值

标签 javascript php ajax

我用 JavaScript 动态创建了一些文本框。 这是 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]'];
}

问题是 $test 为空。我搜索并发现由于javascript是客户端而php是服务器端,除非我使用ajax请求,否则我无法获取php中的值。所以我写了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();
        }
    });
}
});

现在它工作正常,但问题是我想在回发时将数据保存在数据库中。我的意思是我希望点击提交按钮后刷新页面。

最佳答案

如果您的目标是在点击事件和 $.ajax() 调用后刷新页面,请将以下内容添加到 ajax 选项中成功回调的末尾:

location.reload();

除了简单地回答您的问题之外,我相信最好的做法是将 ajax 调用附加到表单的提交事件,而不是按钮的单击事件。除非有令人信服的理由你还没有这样做。类似于:

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

关于javascript - 在 PHP 代码中使用 JavaScript 访问动态创建元素的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42305471/

相关文章:

javascript - 使用 jQuery 显示或隐藏 div 元素

javascript - jQuery 无法在 Ajax 上加载

javascript - 将 ajax 响应保存到文件

javascript - 函数返回零,但为什么当方法拼写错误时它不会失败?

php - 从 URL 获取图像,存储,动画?听起来像是一个挑战

jquery - 简单的 JQuery Ajax 帖子

javascript - 使用 HTML5 在 React 中构建简单的音频播放器时遇到问题

javascript - 如何避免空指针异常?

php - fatal error : Call to a member function execute() on boolean

php - 为什么使用memcached有些数据没有存储在Session中?