PHP中的Forloop和Javascript提交

PHP中的Forloop和Javascript提交,javascript,php,forms,post,for-loop,Javascript,Php,Forms,Post,For Loop,我有这样的代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="tex

我有这样的代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Books</title>
    <script type="text/javascript">
            function test() {
                document.forms.testform.submit();
            }
    </script>
</head>

<body>

    <?php
         mysql_connect("localhost","root","password");
         mysql_select_db("books");
         $result = mysql_query("SELECT B_Code,Author_Name FROM books");  
         while($row = mysql_fetch_array( $result )) {  
    ?>

    <form action ="post.php" id="testform" method="post">
        <input type="hidden" name="name" value="<?php echo $row['B_Code']; ?>" />
        <input type="hidden" name="id" value="<?php echo $row['Author_Name']; ?>" />
    </form>

    <a href="#" onclick="test()"><?php echo $row['Author_Name']; ?></a>

    <?php } ?>

</body>
</html>
根据我前面的问题,我不想在URL中发送任何值并使用隐藏字段

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Books</title>
    <script type="text/javascript">
            function test() {
                document.forms.testform.submit();
            }
    </script>
</head>

<body>

    <?php
         mysql_connect("localhost","root","password");
         mysql_select_db("books");
         $result = mysql_query("SELECT B_Code,Author_Name FROM books");  
         while($row = mysql_fetch_array( $result )) {  
    ?>

    <form action ="post.php" id="testform" method="post">
        <input type="hidden" name="name" value="<?php echo $row['B_Code']; ?>" />
        <input type="hidden" name="id" value="<?php echo $row['Author_Name']; ?>" />
    </form>

    <a href="#" onclick="test()"><?php echo $row['Author_Name']; ?></a>

    <?php } ?>

</body>
</html>
在下面的代码中,当我提交表单时,我能够在下一页中仅获取第一行值的post值(first while loop record)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Books</title>
    <script type="text/javascript">
            function test() {
                document.forms.testform.submit();
            }
    </script>
</head>

<body>

    <?php
         mysql_connect("localhost","root","password");
         mysql_select_db("books");
         $result = mysql_query("SELECT B_Code,Author_Name FROM books");  
         while($row = mysql_fetch_array( $result )) {  
    ?>

    <form action ="post.php" id="testform" method="post">
        <input type="hidden" name="name" value="<?php echo $row['B_Code']; ?>" />
        <input type="hidden" name="id" value="<?php echo $row['Author_Name']; ?>" />
    </form>

    <a href="#" onclick="test()"><?php echo $row['Author_Name']; ?></a>

    <?php } ?>

</body>
</html>
为什么??当我用firebug检查它时,我能够看到所有记录的隐藏值

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Books</title>
    <script type="text/javascript">
            function test() {
                document.forms.testform.submit();
            }
    </script>
</head>

<body>

    <?php
         mysql_connect("localhost","root","password");
         mysql_select_db("books");
         $result = mysql_query("SELECT B_Code,Author_Name FROM books");  
         while($row = mysql_fetch_array( $result )) {  
    ?>

    <form action ="post.php" id="testform" method="post">
        <input type="hidden" name="name" value="<?php echo $row['B_Code']; ?>" />
        <input type="hidden" name="id" value="<?php echo $row['Author_Name']; ?>" />
    </form>

    <a href="#" onclick="test()"><?php echo $row['Author_Name']; ?></a>

    <?php } ?>

</body>
</html>
换句话说,只有第一条记录被发布到下一页,而不是连续的记录

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Books</title>
    <script type="text/javascript">
            function test() {
                document.forms.testform.submit();
            }
    </script>
</head>

<body>

    <?php
         mysql_connect("localhost","root","password");
         mysql_select_db("books");
         $result = mysql_query("SELECT B_Code,Author_Name FROM books");  
         while($row = mysql_fetch_array( $result )) {  
    ?>

    <form action ="post.php" id="testform" method="post">
        <input type="hidden" name="name" value="<?php echo $row['B_Code']; ?>" />
        <input type="hidden" name="id" value="<?php echo $row['Author_Name']; ?>" />
    </form>

    <a href="#" onclick="test()"><?php echo $row['Author_Name']; ?></a>

    <?php } ?>

</body>
</html>
如果下面的代码看起来很疯狂,有人能帮我一个忙吗?我不想在URL或浏览器/网络表单的任何地方传递这些值

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Books</title>
    <script type="text/javascript">
            function test() {
                document.forms.testform.submit();
            }
    </script>
</head>

<body>

    <?php
         mysql_connect("localhost","root","password");
         mysql_select_db("books");
         $result = mysql_query("SELECT B_Code,Author_Name FROM books");  
         while($row = mysql_fetch_array( $result )) {  
    ?>

    <form action ="post.php" id="testform" method="post">
        <input type="hidden" name="name" value="<?php echo $row['B_Code']; ?>" />
        <input type="hidden" name="id" value="<?php echo $row['Author_Name']; ?>" />
    </form>

    <a href="#" onclick="test()"><?php echo $row['Author_Name']; ?></a>

    <?php } ?>

</body>
</html>

书
功能测试(){
document.forms.testform.submit();
}

为什么您需要使用javascript提交表单,您可以在不使用javascript的情况下提交表单。 使用请删除标记并使用按钮类型提交。

尝试此解决方案

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Books</title>
    <script type="text/javascript">
            function test() {
                document.forms.testform.submit();
            }
    </script>
</head>

<body>

    <?php
         mysql_connect("localhost","root","password");
         mysql_select_db("books");
         $result = mysql_query("SELECT B_Code,Author_Name FROM books");  
         while($row = mysql_fetch_array( $result )) {  
    ?>

    <form action ="post.php" id="testform" method="post">
        <input type="hidden" name="name" value="<?php echo $row['B_Code']; ?>" />
        <input type="hidden" name="id" value="<?php echo $row['Author_Name']; ?>" />
    </form>

    <a href="#" onclick="test()"><?php echo $row['Author_Name']; ?></a>

    <?php } ?>

</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>Books</title>
        <script type="text/javascript">
        function test(name,id)
        {
        document.getElementById("name").value = name;
        document.getElementById("id").value = id;
        document.forms.testform.submit();
        }
        </script>
        </head>
        <body>
        <form action ="post.php" id="testform" method="post">
        <?php
        mysql_connect("localhost","root","password");
        mysql_select_db("books");
        $result = mysql_query("SELECT B_Code,Author_Name FROM books");  
        while($row = mysql_fetch_array( $result )) {  
        ?>
        <a href="#" onclick="test('<?php echo $row['B_Code']; ?','<?php echo $row['Author_Name']; ?>')"><?php echo $row['Author_Name']; ?></a>
        <?php } ?>
        <input type="hidden" name="name" value="" id="name"/>
        <input type="hidden" name="id" value="" id="id"/>
        </form>
        </body>
        </html>

书
功能测试(名称、id)
{
document.getElementById(“名称”).value=name;
document.getElementById(“id”).value=id;
document.forms.testform.submit();
}

对所有隐藏字段使用相同的名称??你有多种形式。因此,只有您单击的表单记录才会被提交。是;)你是对的。隐藏字段fyi中所有记录的名称和id相同-即使我更改了两个值的表单名称,也无法在下一页中获取值。