php - 输入字段被呈现为纯文本
问题描述
我使用 PHP 来呈现页面。我有回声语句,例如
echo "<input type=\"text\" name=\"numPlate\" id=\"numPlate\" onblur=\"caps(this.id);\" $focusPlate required value=\"" . isset($_POST['numPlate']) ? $_POST['numPlate'] : "" ."\">";
但该值作为纯文本而不是在输入字段中输出。如果我取出三元,那么输入字段正在被渲染,这告诉我导致问题的原因,但我真的不明白为什么。问题是我在这个页面上有大约 20 个其他字段以类似的方式,因此将这些语句中的每一个评估为一个变量并将相应的变量输入到 value 属性中并不是一个非常干净的解决方案。
还有其他方法可以实现吗?谢谢
编辑:
呈现的html:
<div class="row"><label for="plate">Rendszám*</label>GMS245</div>
如您所见,字符串只是一个文本。
解决方案
我测试了它,我相信我的第二个建议可以解决它。将三元组括在括号中。根据我的测试,它试图评估对三元的真实响应,而不是将其设置为值或忽略它。我还用单引号替换了内部引号以清理代码,同时仍然允许评估变量。
echo "<input type='text' name='numPlate' id='numPlate onblur='caps(this.id);' $focusPlate required value='" . (isset($_POST['numPlate']) ? $_POST['numPlate'] : "") ."'>";
推荐阅读
- javascript - 带有 NodeJS 的 Babel 无法使用扩展运算符
- javascript - 我应该如何在javascript的下拉列表中自动获取先前选择的选项
- node.js - app.use(validator()) TypeError: 验证器不是函数
- atom-editor - 如何将 Atom 编辑器与远程服务器连接?
- r - 在排列好的地块之间画一个“网格”
- sass - `@apply` 不能与 `.text-md` 一起使用
- numberformatexception - 自定义 OpenCsv CsvToBeanBuilder
- java - 使用休眠当前会话执行存储过程后无法执行任何读/写操作
- javascript - 如何设置 jest 以测试画布
- maven - Maven surefire 插件套件XmlFile 并行执行