【问题标题】:this.form.submit() select, only post one optionthis.form.submit() 选择,只发布一个选项
【发布时间】:2016-01-15 11:01:40
【问题描述】:

如果我在循环中的选择上使用onchange="this.form.submit()"

<form>
<?php
$a=0;
while($a <= 10) {
?>
<select name="lagra" id="lagra" class="drop <?php echo $statusbg; ?>" onchange='this.form.submit()'>
<option class="drop <?php echo $statusbg; ?>" <?php echo $s0; ?> value="<?php echo $val; ?>.1">Åpen</option>
<option class="drop <?php echo $statusbg; ?>" <?php echo $s1; ?> value="<?php echo $val; ?>.2">Stengd</option>
<option class="drop <?php echo $statusbg; ?>" <?php echo $s2; ?> value="<?php echo $val; ?>.3">Utskriven</option>
<option class="drop <?php echo $statusbg; ?>" <?php echo $s3; ?> value="<?php echo $val; ?>.4">Klar/fakt</option>
</select>
<?php
$a++;
}
?>
</form>

我只想发布一个选项?

现在我的查询如下所示:

index.php?viewtime=yes&ukeID=0&orderID=2&tilleggID=0&status=&lagra=39.2&lagra=42.2&lagra=43.1&lagra=38.1&lagra=28.3&lagra=23.3&lagra=22.3&lagra=27.3&lagra=20.3&lagra=21.3

我不想要所有这些,只想要我改变的那个。

index.php?viewtime=yes&ukeID=0&orderID=2&tilleggID=0&status=&lagra=39.2

如上。

【问题讨论】:

  • post action 扩展您的&lt;form&gt; 并在处理表单数据的PHP 代码中使用$_POST['variable_here']。这是一种更安全的方法。谷歌form标签的选项

标签: javascript php html select option


【解决方案1】:

解决了。

也许不是最好的方法,但它确实有效。 每个选择都有新的表单。

<form id="form1" name="form1" method="GET" action="">
<select name="lagra" id="lagra" class="drop <?php echo $statusbg; ?>" onchange='this.form.submit()'>
<option class="drop <?php echo $statusbg; ?>" <?php echo $s0; ?> value="<?php echo $val; ?>.1">Åpen</option>
<option class="drop <?php echo $statusbg; ?>" <?php echo $s1; ?> value="<?php echo $val; ?>.2">Stengd</option>
<option class="drop <?php echo $statusbg; ?>" <?php echo $s2; ?> value="<?php echo $val; ?>.3">Utskriven</option>
<option class="drop <?php echo $statusbg; ?>" <?php echo $s3; ?> value="<?php echo $val; ?>.4">Klar/fakt</option>
</select>
<?php
if(!empty($_REQUEST['status'])) { $status = $_REQUEST['status']; }
else { $status = ""; }
echo '<input hidden value="'.$orderID.'" name="orderID">';
echo '<input hidden value="'.$tilleggID.'" name="tilleggID">';
echo '<input hidden value="'.$status.'" name="status">';
echo '<input hidden value="'.$ukeID.'" name="ukeID">';
echo '<input hidden value="yes" name="viewtime">';
?>
</form>

【讨论】:

  • 请记住,当有人尝试使用?status=some-hacking-code-here 之类的 url 进入页面时,您遇到了麻烦
猜你喜欢
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多