フィールドを動的に組み立てる場合を除き、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>';
これはテストされておらず、少なくとも 1 つのバグ (errors 配列に余分なカンマ) があることはわかっていますが、出発点としては適切です。2 番目の方法の目的は、PHP を使用して配列を組み立て、JavaScript が使用してループを実行し、これらの値を各入力フィールドに割り当てることです。ただし、選択ボックスやラジオ ボタンなどのロジックは複雑になります。割り当てるだけでなく、プロパティなどval
を設定する必要があります。checked
残念ながら、すでにこれを行っているライブラリまたは jQuery プラグインがあるかどうかはわかりません。