【问题标题】:How to send array textbox name to ajax如何将数组文本框名称发送到ajax
【发布时间】:2016-04-27 09:26:29
【问题描述】:

早上好,妈妈/先生,我是一名新手程序员,想知道如何将数组文本框/保管箱名称传递给 ajax?

我知道我的代码不正确。请任何人都可以帮助我。我知道你不明白我想展示的输出。

这是我的示例代码:

HTML

<select name="departmentmontask1[]" id="departmentmontask11">
<option value="0">Select Department</option>
<option value="0">Select Department</option>
<option value="0">IT</option>
<option value="0">HRM</option>
<option value="0">WAREHOUSE</option>
</select>

<input class="submitbstyle" type="button" name="submitb" onclick="submitform()" value="SUBMIT">

JS

function submitform()
{
var hospital1 = document.getElementsByName("departmentmontask1").value;

var fd = new FormData();
          fd.append("hospital", hospital1);
          var xhr = new XMLHttpRequest();
          xhr.open('POST', 'testjsarray.php', true);

          xhr.upload.onprogress = function(e) {
            if (e.lengthComputable) {
              var percentComplete = (e.loaded / e.total) * 100;
              console.log(percentComplete + '% uploaded');
            }
          };

          xhr.onload = function() {
            if (this.status == 200) {

                alert(this.response);

            };
          };

          xhr.send(fd)
}

PHP

<?php
$departmentmon1 = $_POST['departmentmontask1'];

$depmonval1 = array();

foreach($hospitalmon1 as $key1 => $val1)
{
    $depmonval1[] = $val1;
    $depmoncount1 = $depmoncount1 + 1;
}

for($x=0;$x<$depmoncount1;$x++)
{
    echo $depmonval1[$x];
}
?>

【问题讨论】:

标签: javascript php ajax


【解决方案1】:

我认为在 html 中您应该为选项分配不同的值 在分配后的 php 中,您永远不会使用 $departmentmon1 变量。 此外,第二个 for 可以切换到 foreach 摆脱 $depmoncount1 变量

【讨论】:

    【解决方案2】:

    HTML 表单

    <form class="form" id="f1" >
        <input name="f1_inp_1" value="1">
        <input name="f1_inp_2" value="2">
        <select name="f1_inp_3[]" multiple>
            <option value="f1_val1">f1_val1</option>
            <option value="f1_val2">f1_val2</option>
            <option value="f1_val3">f1_val3</option>
        </select>
    </form>
    <button id="fire2">Fire2</button>
    

    jQuery

    $("#fire2").click(function(){
        $.ajax({
            url: 'get_response.php',
            type: 'POST',
            data:$("#f1").serialize(),
            success: function(data){
                alert(data);
            }
        });
    });
    

    PHP 脚本:

    <?php
        echo "<pre>";
        print_r($_REQUEST);
        echo "</pre>";
        exit;
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-14
      • 2017-06-20
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 2012-07-04
      • 2013-01-26
      相关资源
      最近更新 更多