说明 我希望当用户点击while循环内的按钮时,该按钮的值和输入字段值(两个值)由ajax获取并发送给php。 如果我的代码中出现了问题,请更正它或告诉我一些方法。
<?php
echo '<form id ="aa" method="post">';
echo '<input id="csv" name="csv" type="file" />';
echo '</form>';
while($row=mysql_fetch_array($result_1)) {
$pin=$row['board_name'];
$name=$row['board_name'];
echo'<div>';
echo $row['board_name'];
echo '<button type="submit" form="aa" class="a" name="aabb" value='.$name.'>Save</button>';
echo '</div>';
}
?>
<script>
$(document).ready(function() {
$(".a").click(function(evt){
evt.preventDefault();
var formData = new FormData($(this)[0]);
$.ajax({
url: 'pin_insert.php',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function(response) {
$(".text").html(response);
}
});
return false;
});
});
</script>
答案 0 :(得分:0)
我不使用jQuery所以请原谅任何错误,但可能是以下因为submit
按钮在表单之外,即使它们提交了一个值,它也不会包含在formdata中,因此需要附加到发送的数据。
<script>
$(document).ready(function() {
$(".a").click(function(evt){
evt.preventDefault();
var formData = new FormData( document.getElementById('aa') );
/* Add the value from the button */
formData.append( 'aabb', evt.target.value );
$.ajax({
url: 'pin_insert.php',
type: 'POST',
data: formData,
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function(response) {
$(".text").html(response);
}
});
return false;
});
});
</script>
答案 1 :(得分:0)
输入字段和按钮值是相同的,所以我这样做
<?php
echo '<form id ="aa" method="post">';
echo '<input id="csv" name="csv" type="file" />';
echo '</form>';
while($row=mysql_fetch_array($result_1)) {
echo'<div>';
echo $row['board_name'];
echo '<button type="button" form="aa" class="a" name="aabb" value='.$row['board_name'].' onclick="abc(this.value)">Save</button>';
echo '</div>';
}
?>
<script>
function abc(boardname){
var inputvalue= $("#csv").val();
var boardname= boardname;
$.ajax({
url: 'pin_insert.php',
type: 'POST',
data: {'boardname': boardname , 'inputvalue': inputvalue},
async: false,
cache: false,
contentType: false,
enctype: 'multipart/form-data',
processData: false,
success: function(response) {
$(".text").html(response);
}
});
}
</script>
你可以从pin_insert.php页面获取价值$ _POST ['boardname'] $ _POST ['inputvalue']