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相同-即使我更改了两个值的表单名称,也无法在下一页中获取值。