我试图将查询结果显示在文本框中。 $ r-> context_type返回正确的值,但不会显示在文本框中。这是文本框的代码段,我哪里出错了?
echo "<input type='text' name='name1' id='' placeholder='$r->context_type' autocomplete='off' tabindex='4' class='txtinput' /> <br />";
答案 0 :(得分:1)
我总是喜欢连接,试试这个。
echo "<input type='text' name='name1' id='' placeholder='" . $r->context_type . "' autocomplete='off' tabindex='4' class='txtinput' /> <br />";
此外,您确定要占位符获取变量而不是value=
答案 1 :(得分:1)
如果您尝试将其显示为占位符,请尝试
echo "<input type='text' name='name1' id='' placeholder='".$r->context_type."' autocomplete='off' tabindex='4' class='txtinput' /> <br />";
或者,如果您想在input
text
中显示和修改,请执行此操作
echo "<input type='text' name='name1' id='' value='".$r->context_type."' autocomplete='off' tabindex='4' class='txtinput' /> <br />";
注意:能够修改value
placeholder
答案 2 :(得分:0)
plcaeholder只是对TextBox的评论。 如果你想设定值,请使用它:
value='$r->context_type'
答案 3 :(得分:0)
您需要通过htmlspecialchars()
传递查询,以避免浏览器错误地解释其值的问题:
echo "<input type='text' name='name1' placeholder='" . htmlspecialchars($r->context_type) . "' autocomplete='off' tabindex='4' class='txtinput' /> <br />";
但是为了更好的可读性,我宁愿写任何一个
$val = htmlspecialchars($r->context_type);
echo "<input type='text' name='name1' placeholder='{$val}' autocomplete='off' tabindex='4' class='txtinput' /> <br />";
或
printf("<input type='text' name='name1' placeholder='%s' autocomplete='off' tabindex='4' class='txtinput' /> <br />",
用htmlspecialchars($ R-&GT; context_type));
同时删除id=''
,因为它没有多大意义。