美好的一天妈妈/先生我是一个新手程序员,想知道如何将数组文本框/保管箱名称传递给 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];
}
?>
我认为在 html 中您应该为选项分配不同的值在赋值后的 php 中,您永远不会使用 $departmentmon 1 变量。此外,第二个 for 可以切换到摆脱 $depmoncount 1 变量的 foreach
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;
?>