- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
因此我将此测试代码用于一个主要项目。这段代码完美地连接到数据库并且几乎完成了我设置的所有事情。但是当我从下拉列表中选择最后一个值时,它不会无缘无故地给我它的值(value)。这是我想要的示例。
这是“错误”的示例。
这里是完整的代码(连接除外)。
<?php
include_once('ligacao.php');
//Check connection
if (!$link) {
die("Connection failed: " . mysqli_connect_error());
}
if (!empty($_GET['id'])) {
$pesq = $_GET['id'];
$atual = $_GET['atual'];
//Distrito e concelho
$sql = ("SELECT distrito,concelho FROM concelhos WHERE codg_cc = '$pesq'");
$result = mysql_query($sql, $link);
while ($row = mysql_fetch_assoc($result)) {
$dist = $row['distrito'];
$conc = $row['concelho'];
}
//echo ($atual);
if (isset($atual) and strlen($atual) > 0) {
$sql3 = ("SELECT DISTINCT new_name_freg,cod_freg_new FROM freguesias WHERE cod_freg_new = '$atual'");
$result3 = mysql_query($sql3, $link);
$sql2 = ("SELECT old_name_freg,cod_freg_old FROM freguesias WHERE cod_freg_new = '$atual'");
$result2 = mysql_query($sql2, $link);
} else {
$sql3 = ("SELECT DISTINCT new_name_freg,cod_freg_new FROM freguesias WHERE codg_cc = '$pesq' ORDER BY new_name_freg");
$result3 = mysql_query($sql3, $link);
}
mysql_free_result($result);
}
/* $atual=$_GET['atual']; // This line is added to take care if your global variable is off
if(isset($atual) and strlen($atual) > 0){
//echo ('hello');
$sql2=("SELECT old_name_freg,cod_freg_old FROM freguesias WHERE cod_freg_new = '$atual'");
$result2 = mysql_query($sql2, $link);
} */
/*
} // else{$quer="SELECT DISTINCT subcategory,subcat_id FROM subcategory order by subcategory"; }
////////// end of query for second subcategory drop down list box ///////////////////////////
*/
mysqli_close($ligar);
?>
<html>
<head>
<script type="text/javascript">
/*function reload(form)
{
val=$pesq;
self.location='Formulario2.php?id=' + val ;
} */
function reload3(form)
{
var concelho = '<?= $pesq ?>'; //passa a variavel de php para o javascript
//alert(concelho);
//alert(element.defaultValue);
//alert(self.location);
val2 = (form.value);
self.location = 'Formulario2.php?id=' + concelho + '&atual=' + val2;
}
</script>
</head>
<body onload=enable_text(false);>
<div >
<table>
<form name=f1 action="" >
<td>
<tr>
<td>ID:</td> <td><input type="number" name="id" value="<?php echo $pesq; ?>"></td>
<td><input type="submit" value="Obter informações"></td>
</tr>
</td>
</form>
</table>
<form name=f2 action="" >
<table>
<tr>
<td>Distrito:</td><td ><input type="text" name="distrito" maxlength="25" value="<?php echo $dist; ?>"></td>
<td>Concelho:</td> <td><input type="text" name="concelho" maxlength="25" value="<?php echo $conc; ?>"></td><br>
</tr>
<tr>
<td>Freguesias:</td>
<td>Designação atual :</td> <td><select name="atual" onchange="reload3(this)"><option value=''>Selecione uma freguesia</option>
<?php
while ($row3 = mysql_fetch_assoc($result3)) {
echo "<option size=30 selected value=" . $row3["cod_freg_new"] . ">" . $row3["new_name_freg"] . "</option>";
}
mysql_free_result($result3);
?>
</select></td>
<td>Designação antiga :</td> <td><select name="antiga" onchange="reload3(this"><option value=''>Select One</option>
<?php
while ($row2 = mysql_fetch_assoc($result2)) {
echo "<option size=30 value=" . $row2["cod_freg_old"] . ">" . $row2["old_name_freg"] . "</option>";
}
mysql_free_result($result2);
?>
</select></td>
</form>
</tr>
<tr>
<td>Número da mesa:</td> <td><input type="number" name="mesa" min="1" max="15"></td><br>
<td>Localização da mesa:</td> <td><input type="text" name="local" maxlength="40"></td><br>
</tr>
<td>Todos os eleitores desta frequesia: <input type="checkbox" name=todos onclick="enable_text(this.checked)" ></td>
</tr>
<tr>
<td>Nº de eleitor inicial do caderno </td><td><input type=text name=intini1 maxlength=5></td><td><input type=number name=intini2 maxlength=5></td>
<td>Nº de eleitor final do caderno </td><td><input type=text name=intfim1 maxlength=5></td><td><input type=number name=intfim2 maxlength=5></td>
</tr>
<tr><br>
<td>Nota:</td> <td><input type="text" name="nota" maxlength="40"></td><br>
</tr>
</table>
</form>
</div>
</body>
</html>
如果您对代码有任何疑问,或者您需要我更好地澄清我的问题,请不要害羞地告诉我。
P.S:我知道我应该使用 mysqli
而不是 myslq_
并且还准备了语句,但我试图专注于真正的问题而不是安全性。如果我的英语不好,请原谅我。
这里是请求的html源。
<form name="f2" action="">
<br>
<br>
<br>
<br>
<br>
<table>
<tbody>
<tr>
<td>Distrito:</td>
<td><input type="text" name="distrito" maxlength="25" value="Faro"></td>
<td>Concelho:</td>
<td><input type="text" name="concelho" maxlength="25" value="Albufeira"></td>
</tr>
<tr>
<td>Freguesias:</td>
<td>Designação atual :</td>
<td><select name="atual" onchange="reload3(this)">
<option value="">Selecione uma freguesia</option>
<option size="30" selected="" value="080106">Albufeira e Olhos de Ãgua</option>
<option size="30" selected="" value="080104">Ferreiras</option>
<option size="30" selected="" value="080102">Guia</option>
<option size="30" selected="" value="080103">Paderne</option>
</select></td>
<td>Designação antiga :</td>
<td><select name="antiga" onchange="reload3(this">
<option value="">Select One</option>
</select></td>
</tr>
<tr>
<td>Número da mesa:</td>
<td><input type="number" name="mesa" min="1" max="15"></td>
<td>Localização da mesa:</td>
<td><input type="text" name="local" maxlength="40"></td>
</tr>
<tr>
<td>Todos os eleitores desta frequesia:
<input type="checkbox" name="todos" onclick="enable_text(this.checked)"></td>
</tr>
<tr>
<td>Nº de eleitor inicial do caderno </td>
<td><input type="text" name="intini1" maxlength="5"></td>
<td><input type="number" name="intini2" maxlength="5"></td>
<td>Nº de eleitor final do caderno </td>
<td><input type="text" name="intfim1" maxlength="5"></td>
<td><input type="number" name="intfim2" maxlength="5"></td>
</tr>
<tr>
<td>Nota:</td>
<td><input type="text" name="nota" maxlength="40"></td>
</tr>
</tbody>
</table>
</form>
这是请求的 javascript 代码。
function reload3(form)
{
var concelho = '<?= $pesq ?>'; //passa a variavel de php para o javascript
//alert(concelho);
//alert(element.defaultValue);
//alert(self.location);
val2=(form.value);
self.location='Formulario2.php?id=' + concelho + '&atual=' + val2;
}
更新: 与我一起工作的人使用 JQuery 找到了更好的解决方案,解决了这个问题。感谢所有提供帮助的人。
最佳答案
您的代码中有 2 个错误,第一个是您缺少右括号,这意味着您在执行时会遇到 javascript 错误:
onchange="reload3(this"
改成
onchange="reload3(this)"
接下来,您有两个名为 f1 和 f2 的表单,提交按钮位于表单 f1 中,其中包含 1 个名为 id 的输入。因此,当您按下提交按钮时,您只会获得一个 ID。
f2 中没有提交按钮,因此您永远不会提交表单,只有 onchange() 调用会在您修复我上面提到的错误后使用 id 和 atual 进行位置更改。但是,如果您有一个提交按钮,您将丢失 id,因为 id 的格式为 f1。
记住提交按钮,提交带有输入/选择元素的表单。不是来自其他形式的元素。
最后,您所有的表单操作都是空的并且默认为获取,但将它们留空是一种不好的做法。
关于javascript - 不读取最后一个选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34632040/
这个问题在这里已经有了答案: “return” and “try-catch-finally” block evaluation in scala (2 个回答) 7年前关闭。 为什么method1返
我有一个动态列表,需要选择最后一项之前的项目。 drag your favorites here var lastLiId = $(".album
我想为每个线程执行特定操作,因此,我认为tearDown Thread Group 不起作用。 是否有任何替代方法可以仅在线程的最后一次迭代时运行“仅一次 Controller ”? 谢谢。 最佳答案
在我的书中它使用了这样的东西: for($ARGV[0]) { Expression && do { print "..."; last; }; ... } for 循环不完整吗?另外,do 的意义何
我想为每个线程执行特定操作,因此,我认为tearDown Thread Group 不起作用。 是否有任何替代方法可以仅在线程的最后一次迭代时运行“仅一次 Controller ”? 谢谢。 最佳答案
有没有可能 finally 不会被调用但应用程序仍在运行? 我在那里释放信号量 finally { _semParallelUpdates.Re
我收藏了 对齐的元素,以便它们形成两列。使用 nth-last-child 的组合和 nth-child(even) - 或任何其他选择器 - 是否可以将样式应用于以下两者之一:a)最后两个(假设
我正在阅读 Jon Skeet 的 C# in Depth . 在第 156 页,他有一个示例, list 5.13“使用多个委托(delegate)捕获多个变量实例化”。 List list = n
我在 AM4:AM1000 范围内有一个数据列表(从上到下有间隙),它总是被添加到其中,我想在其中查找和总结最后 4 个结果。但我只想找到与单独列相对应的结果,范围 AL4:AL1000 等于单元格
我最近编写了一个运行良好的 PowerShell 脚本 - 然而,我现在想升级该脚本并添加一些错误检查/处理 - 但我似乎被第一个障碍难住了。为什么下面的代码不起作用? try { Remove-
这个问题在这里已经有了答案: Why does "a == x or y or z" always evaluate to True? How can I compare "a" to all of
使用 Django 中这样的模型,如何检索 30 天的条目并计算当天添加的条目数。 class Entry(models.Model): ... entered = models.Da
我有以下代码。 public static void main(String[] args) { // TODO Auto-generated method stub
这个问题在这里已经有了答案: Why does "a == x or y or z" always evaluate to True? How can I compare "a" to all of
这个问题已经有答案了: Multiple returns: Which one sets the final return value? (7 个回答) 已关闭 8 年前。 我正在经历几个在工作面试中
$ cat n2.txt apn,date 3704-156,11/04/2019 3704-156,11/22/2019 5515-004,10/23/2019 3732-231,10/07/201
我可以在 C/C++ 中设置/禁用普通数组最后几个元素的读(或写)访问权限吗?由于我无法使用其他进程的内存,我怀疑这是可能的,但如何实现呢?我用谷歌搜索但找不到。 如果可以,怎样做? 因为我想尝试这样
我想使用在这里找到的虚拟键盘组件 http://www.codeproject.com/KB/miscctrl/touchscreenkeyboard.aspx就像 Windows 中的屏幕键盘 (O
我正在运行一个 while 循环来获取每个对话的最新消息,但是我收到了错误 [18-Feb-2012 21:14:59] PHP Warning: mysql_fetch_array(): supp
这个问题在这里已经有了答案: How to get the last day of the month? (44 个答案) 关闭 8 年前。 这是我在这里的第一篇文章,所以如果我做错了请告诉我...
我是一名优秀的程序员,十分优秀!