在表单操作属性中传递url参数

时间:2015-05-01 13:41:33

标签: javascript php jquery forms

<?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

0 个答案:

没有答案