<?php
if(!empty($_POST['name'])){
echo $name = $_POST['name']; // Will echo what was replaced in the input
}
else{
echo $name = $_POST['name']; // Will echo the value that was already set in the input
}
?>
<form method="post">
<input type="text" value="John" name="name">
<input type="submit">
</form>
4条答案
按热度按时间j8yoct9x1#
这是一个奇怪的要求,但...
你不能改变字段的值,只是做一个简单的表单提交。字段会忠实地发送它里面的任何内容。有一些黑客的方法可以解决这个问题。
选项1 -隐藏字段
因此,创建一个字段,
disable
它,并添加一个隐藏字段。禁用字段永远不会成功,尽管用户将无法更改字段值,许多浏览器将自动更改字段的样式选项2 -提交时修改值
正如你所提到的,你可以在表单提交的时候修改这个值。
5gfr0r5j2#
如果你愿意接受一个(纯)PHP解决方案,你当然可以。
旁注:最好有一个服务器端方法(作为计划B),如果最终用户禁用Javascript。
给定用户将替换输入中的“已显示”值。
输入需要包含一个name属性,以便此方法工作。
注意:
echo $var = "something";
是有效语法。编辑:
我们还不清楚你想在这里实现什么,但是你可以使用一个隐藏的属性,并从输入中删除
value="John"
。用户将需要填写输入。
如果输入为空,则以下仅输出“Doe”,但如果输入为空,则输出两者。
bejyjqdl3#
1.需要添加一个变量名,如
在PHP中,
var_dump('John')
将导致'Doe'
但显然这不是很聪明的方式,特别是在你有多个输入字段的情况下,所以我建议
2.使用类似的数组
在PHP中,您可以选择性地测试
xpcnnkqh4#
为什么不使用data-value属性来表示您想在PHP中使用的值?
是这样吗