POST和GET结果,而jQuery和php错误

阿敏

我想以这种方式发送获取数据并创建输入,并将这个jquery发送到php页面并获取结果,但是问题是:

警告:为中的foreach()提供了无效的参数

jQuery的

$('#ss').live('click', function () {
    $("#main_login").html("<center>waiting plaese . . . .</center>");
    var arr = $("#myInputs").val();
    $.ajax({
        type: 'POST',
        url: 'process.php',
        data: "myInputs=" + arr,
        success: function (data) {
            $('#main_login').html(data)
        }

    });
});


$(function () {
    var scntDiv = $('#p_scents');
    var i = $('#p_scents p').size() + 1;


    $('#text').live('click', function () {
        $('<p><input type="text" id="myInputs" size="20" name="myInputs[]" value="" placeholder="Input Value" /> <a href="#" id="rtext">Remove</a></p>').appendTo(scntDiv);
        i++;
        return false;
    });
});

的HTML

<a href="#" id="text">add</a><br>

<div id="p_scents">
    <p><label for="p_scnts"><input type="text" id="myInputs[]" size="20" name="myInputs[]" value="" placeholder="Input Value" /></label></p>
<div id="main_login"></div>

的PHP

$name = $_POST['myInputs'];
foreach( $name as $key => $n ) {
    print "The name is ".$n." and email is , thank you<br>";
}
短路

问题出在您的JavaScript,而不是PHP。这些行:

var arr = $("#myInputs").val();
[...]
    data: "myInputs=" + arr,

问题

  1. 由于您使用的是CSS ID选择器,因此只允许使用具有该ID的一个元素
  2. $("#myInputs").val() 只会返回第一个元素的值,它将是一个字符串,而不是一个数组
  3. "myInputs=" + arr 将以字符串而不是数组的形式发送POST数据

解决方案

您需要做一些事情来解决这些问题:

  1. 切换id='myInputs[]'为使用CSS类(例如class='myInputs'
  2. .myInputs元素中提取所有值,并将它们组合到一个数组中(提示:使用jQuery的.each函数
  3. 更改"myInputs="为数组格式(即{ "myInputs[]" : arr }

让我演示给你看:

的HTML

    <p><label for="p_scnts"><input type="text" class="myInputs" size="20" name="myInputs[]" value="" placeholder="Input Value" /></label></p>

Java脚本

$('#ss').live('click', function () {
    $("#main_login").html("<center>waiting plaese . . . .</center>");
    var arr = [];
    $(".myInputs").each(function() {
        arr.push($(this).val());
    });

    $.ajax({
        type: 'POST',
        url: 'process.php',
        data: { "myInputs[]" : arr },
        success: function (data) {
            $('#main_login').html(data)
        }
    });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用JQuery $ .GET和$ .POST

来自分类Dev

PHP:滥用POST和GET

来自分类Dev

Angularjs和PHP提交,POST和GET

来自分类Dev

PHP和AJAX返回错误的结果

来自分类Dev

结合使用jQuery Ajax POST和PHP时出现502错误网关错误

来自分类Dev

PHP $ _Get和JQuery .load

来自分类Dev

PHP中的jQuery Ajax和POST方法

来自分类Dev

没有cURL PHP的POST和GET

来自分类Dev

PHP页面将不使用接受Jquery POST和GET变量

来自分类Dev

文本爆炸和循环 php 结果是错误的

来自分类Dev

在PHP和jQuery GET之间遇到麻烦

来自分类Dev

jQuery $ .post()和curl

来自分类Dev

$ _POST和$ _GET

来自分类Dev

SpringMVC:POST重定向GET和错误消息?

来自分类Dev

SpringMVC:POST重定向GET和错误消息?

来自分类Dev

jQuery和JavaScript的不同结果

来自分类Dev

jQuery $ .get,$。post和$ .getJSON有什么区别?

来自分类Dev

PHP和SQLSTate错误

来自分类Dev

Javascript和PHP错误

来自分类Dev

mysqli和php错误

来自分类Dev

PHP和MySQL错误

来自分类Dev

如何通过python设置php的$ _GET和$ _POST变量?

来自分类Dev

PHP:POST和GET中的不同字符集

来自分类Dev

在PHP中使用GET和POST搜索功能

来自分类Dev

PHP:POST和GET中的不同字符集

来自分类Dev

使用PHP轻松清除所有GET和POST输入?

来自分类Dev

在PHP中使用GET和POST搜索功能

来自分类Dev

可以设置指向 POST 和 GET 的 PHP 指针吗?

来自分类Dev

PHP $_GET 和 $_POST 代码不起作用