使用三元运算符更改输入属性

时间:2018-05-17 11:11:35

标签: php html input attributes ternary-operator

我的想法是,我在表单中有一堆输入,当我发送它(到同一页面)时,我想保留所选的选项值。

这就是我设法让它发挥作用的方式。

<input type="number"  
    <?= isset($_POST['price']) ? 'value="' . $_POST['price'] . '"' : '' ?> 
>

如果先前已设置“price”,则结果是输入将是属性

值= “123”

是否可以在没有连接的情况下编写相同的内容?

我尝试了但是',并且 $ _ POST 似乎是相互影响所以我只是得到php错误或只是在页面上写明文。

1 个答案:

答案 0 :(得分:0)

您可以使用null coalescing运算符并在value属性中输出您输入的数据:

<input type="number" value="<?= $_POST['price'] ?? '' ?>">

但它不会逃避用户输入,所以你不会想要那样。

相反:

<input type="number" value="<?= htmlentities($_POST['price'] ?? '') ?>">

或者:

<input type="number" value=
"<?= isset($_POST['price']) ? htmlentities($_POST['price']) : '' ?>"
>