除非您动态组装您的字段,否则使用 PHP 动态重新填充它们并不容易。如果你是,你可以这样做:
PHP
$fields = [
'username' => ['type' => 'text', 'value' => $_GET['username']],
'setting1' => ['type' => 'radio', 'value' => $_GET['radio']]
];
foreach( $fields as $name => $input ) {
echo "<input type='{$input['type']}' name='{$name}' value='{$input['value']}'>";
}
如果没有,您可以像这样使用 PHP 和 JavaScript 的组合。我正在使用 jQuery 来简化事情。
PHP 和 JavaScript
$fields = $_GET;
echo '<script type="text/javascript">
var errors = { ';
foreach( $fields as $name => $value ) {
echo $name . " : '{$value}',\n";
}
echo '};
$.each(errors, function(name, value) {
$("input[name="+name+"]").val(value);
});
</script>';
这是未经测试的,我知道至少有一个错误(错误数组中的额外逗号),但应该是一个很好的起点。第二种方法的目标是使用 PHP 组装一个数组,然后 JavaScript 可以使用该数组并执行循环以将这些值分配给每个输入字段。但同样 - 选择框和单选按钮等的逻辑将很复杂。而不是仅仅分配val
你将不得不设置checked
属性等。
不幸的是,我不知道是否有任何库或 jQuery 插件已经这样做了。