<?php for($i = 0; $i < $pin_num_rows; $i++){ ?>
<form action="/group/<?php echo $group_id ?>?Comment=<?php echo $pin_id[$i] ?>" method="post" id="group-comment-form">
<textarea name="group-comment" id="group-comment" placeholder="Add a comment..." spellcheck="false"></textarea>
</form>
<?php } ?>
这是我的代码的一部分。如您所见,我在表单操作中传递了pin_id的值。问题是,每当我发表评论时,表单都会以/ group /?Comment = 1提交值,但是当我对第一篇帖子发表评论时,它应该提交1。所以,当我对第二篇文章发表评论时,它应该通过2但它并没有。它总是通过/ group /?Comment = 1
我确实在我的textarea之后回应了这一点,我看到每个评论表单中的数字都应该增加,但是当我提交时,它会提交值1.我会发疯。
<?php echo "/group/<?php echo $group_id ?>?Comment=$pin_id[$i]" ?>
我在上面的同一个循环中的代码中也有这个部分,它有相同的逻辑,但它的工作原理。我不明白为什么表单部分不起作用。
<a href="/group/<?php echo $group_id ?>?Edit=<?php echo $pin_id[$i] ?>" title="Edit" id="group-edit-button">Edit</a>
<a href="/group/<?php echo $group_id ?>?Delete=<?php echo $pin_id[$i] ?>" title="Delete" id="group-delete-button">Delete</a>
修改
我写了这个简单的程序,它演示了我用于网站的相同逻辑,这个简单的程序可以工作,但网站。我想问题不在于表格或文字区域的名称。
<?php
$inputValue = NULL;
$id = [1,2,3];
if(isset($_POST['inputName'])){
$inputValue = $_POST['inputName'];
echo "<br>Input Value: " . $inputValue;
}
if(isset($_GET['id'])){
$getValue = $_GET['id'];
echo "<br>Get Value: " . $getValue;
}
?>
<html>
<head><title>Multiple Forms in One Page</title></head>
<body>
<br>
<a href="index.php">Main Page</a>
<br>
<?php for($i = 0; $i < 3; $i++){ ?>
<form action="index.php?id=<?php echo $id[$i] ?>" method="post" name="formName">
<textarea name="inputName"></textarea>
<input type="submit" name="submitName">
</form>
<?php } ?>
</body>
</html>
发现问题(但仍然需要修复)
<script>
$(function() {
$('textarea#group-comment').on('keydown', function(e) {
if(e.keyCode == 13 && !e.shiftKey){
document.getElementById('group-comment-form').submit();
}
});
});
</script>
我使用此脚本提交表单。我没有提交提交按钮。如果我使用提交按钮,一切都很完美,但如果我使用上面的这个脚本提交表单,它就不会工作。我该怎么做才能使上面的脚本工作?
解 在我找到问题所在的位置后,我创建了另一个问题来找到解决问题的方法。
答案在这里:Solutution