我有一个带有单选按钮的表来获取行值和2个按钮
1个按钮。)用于打印数据,移动到" notice.php"
2按钮。)用于行详细信息,它们保持在同一页面上。
<form action="" method="POST">
<table border="1" >
<tr>
<th>sourceID</th>
....
<th>Status</th>
</tr>
<tr>
<td><input type="radio" name="ID[]" value="<?php echo $tot; ?>" /></td>
<td>1</td>
....
<td>open</td>
</tr>
<input type="button" name="issue" value="Issue Notice" onClick="location.href='notice.php'" />
<input type="submit" name="details" value="details" />
<?php
if(isset($_POST['details']))
{
$n=$_POST['ID'];
$a=implode("</br>",$n);
echo$a;
}
Notice.php:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$n=$_POST['ID'];
}?>
这里的问题是:我的代码与按钮细节完美配合。 但它不能解决问题,即在选择单选按钮并单击问题通知按钮后:它在D:\ XAMPP \ notice.php中提供未定义的索引:ID。 请帮助
答案 0 :(得分:0)
您的详细信息按钮是一个提交按钮,因此它会提交表单。但是,您的其他按钮只是一个常规按钮,您可以使用javascript将浏览器发送到notice.php。因此,它不会将任何数据发布到notice.php。
您可以在查询字符串中包含数据并以这种方式发送,例如:
location.href="notice.php?id=<?=$tot?>"
或者您也可以在页面上发布问题按钮,然后让您的接收页面检查使用了哪个提交按钮。如果使用了问题按钮,那么您可以将php代码发布到notice.php。
答案 1 :(得分:0)
使用以下代码与链接完全相同:
<input type="button" name="issue" value="Issue Notice" onClick="location.href='notice.php'" />
同样,这不会更改action
格式并将POST数据提交到新页面。
您需要以下内容:
<form method="post" action="" name="unique-form-name">
<input type="radio" name="ID[]" value="<?php echo $tot; ?>">
<input type="button" id="unique-btn-name" value="Issue Notice">
</form>
<script type="text/javascript">
document.getElementById('unique-btn-name').onclick = function(){
document['unique-form-name'].action='notice.php';
document['unique-form-name'].submit();
}
</script>
然后,一旦您将数据发送到notice.php
,您就必须将数据用作数组(您无法回显数据):
$IDs = $_POST['ID'];
echo '<pre>',print_r($IDs),'</pre>';
答案 2 :(得分:-1)
<input type="radio" name="ID" value="<?php echo $tot; ?>" />
您的错误是名称属性。
此外,其他按钮与表单无关。你可能想在这里使用ajax。