送信後の自動処理3(フォーム値編集)

レスポンスデータ $res['dom']['replace'] は、送信後(応答受信後)にフォーム内にある INPUT タグなどの value の値を変更することもできます。

これは例えばフォームを搭載したモーダルウィンドウの使いまわしなどで利用されます。


サンプルでは「変更」ボタンでそれぞれのフォーム部品の内容が変更され、「元に戻す」ボタンで初期値に戻ります。

レスポンスデータ $res['dom']['replace'] に変更を行う要素の ID と値のセットを配列で指定します。

Script Source
var ajax = new PRAjax("response.php", "post");
ajax.onClick("#id_button1", {"type":1});
ajax.onClick("#id_button2", {"type":2});
response.php
$type = $_REQUEST['type'];
$reps = array();

if($type == 1){ // 変更
	$reps = array(
		'id_inputText1'=>'値1',
		'id_textArea1'=>'値2',
		'name_radio'=>'val_radio3',
		'id_checkbox1'=>'val_checkbox1',
		'id_checkbox2'=>'',
		'id_checkbox3'=>'val_checkbox3',
		'id_select1'=>'val_option3'
	);
}else if($type == 2){ // 元に戻す
	$reps = array(
		'id_inputText1'=>'val_inputText1Value',
		'id_textArea1'=>'val_textArea1Value',
		'name_radio'=>'val_radio1',
		'id_checkbox1'=>'val_checkbox1',
		'id_checkbox2'=>'',
		'id_checkbox3'=>'',
		'id_select1'=>''
	);
}

$res = array();
$res['dom']['replace'] = $reps;
$response = json_encode($res, JSON_UNESCAPED_UNICODE);
print $response;