【发布时间】:2015-09-24 02:57:13
【问题描述】:
我在表单中嵌入了以下 php 代码(目的基本上是显示和发布类似“城市(国家)”的内容):
<select name="city">
<option selected value=""></option>
<?php
foreach ($result_array as $rowarray){
echo '<option value='.$rowarray[1].' ('.$rowarray[0].'>'.$rowarray[1].' ('.$rowarray[0].')</option>';
}
?>
有趣的是,当我发布这个表单时,这就是发送到 $_POST 变量的内容:
array (size=7)
'city' => string 'Abu' (length=3)
由于某种原因,城市名称中空格后面的所有内容都没有连接起来。 现在事情就是这样,当我这样编码时:
echo '<option>'.$rowarray[1].' ('.$rowarray[0].')</option>';
那么这就是 $_POST 中的结果:
array (size=7)
'city' => string 'Abu Simbel (Egypt)' (length=18)
所以当我把它放在选项元素的“值”属性中时,基本上完全相同的连接代码不起作用。 我在这里错过了什么?
加法:当我这样连接时会发生同样的事情:
'<option value='.$rowarray[1].'!'.$rowarray[0].'>'
所以不是因为括号前面的空格。
【问题讨论】:
-
如果你的
value包含空格,那么你需要引用它,严格来说,HTML元素属性无论如何都应该被引用......HTML 101 -
为什么标签里面有括号?