JavaScriptを使い、フォーム内のフォーム部品の値の変更を、特定の要素内に直ぐに出力させる方法。
実装例
【出力欄】
名前:
地域:
年齢:
コメント:
名前:
地域:
年齢:
コメント:
実装例の動作について
「サンプル」の「【入力欄】」のフォーム部品の内容を変更すると、直ぐに「【出力欄】」に反映される。
ソースコード
JavaScript
<script type="text/javascript">
window.onload = function () {
getValue();
var $formObject = document.getElementById( "sampleForm" );
for( var $i = 0; $i < $formObject.length; $i++ ) {
$formObject.elements[$i].onkeyup = function(){
getValue();
};
$formObject.elements[$i].onchange = function(){
getValue();
};
}
document.getElementById( "sampleOutputLength" ).innerHTML = $formObject.length;
}
function getValue() {
var $formObject = document.getElementById( "sampleForm" );
document.getElementById( "sampleOutputName" ).innerHTML = $formObject.formName.value;
document.getElementById( "sampleOutputArea" ).innerHTML = $formObject.formArea.value;
document.getElementById( "sampleOutputAge" ).innerHTML = $formObject.formAge.value;
document.getElementById( "sampleOutputComent" ).innerHTML = $formObject.formComent.value;
}
</script>
window.onload = function () {
getValue();
var $formObject = document.getElementById( "sampleForm" );
for( var $i = 0; $i < $formObject.length; $i++ ) {
$formObject.elements[$i].onkeyup = function(){
getValue();
};
$formObject.elements[$i].onchange = function(){
getValue();
};
}
document.getElementById( "sampleOutputLength" ).innerHTML = $formObject.length;
}
function getValue() {
var $formObject = document.getElementById( "sampleForm" );
document.getElementById( "sampleOutputName" ).innerHTML = $formObject.formName.value;
document.getElementById( "sampleOutputArea" ).innerHTML = $formObject.formArea.value;
document.getElementById( "sampleOutputAge" ).innerHTML = $formObject.formAge.value;
document.getElementById( "sampleOutputComent" ).innerHTML = $formObject.formComent.value;
}
</script>
HTML
<form id="sampleForm">
【入力欄】
<br />
名前:<input type="text" name="formName" value="太郎">
<br />
地域:
<select name="formArea">
<option selected>関東</option>
<option>東海</option>
<option>関西</option>
</select>
<br />
年齢:
<select name="formAge">
<option selected>10代</option>
<option>20代</option>
<option>30代</option>
</select>
<br />
コメント:<textarea name="formComent">コメント</textarea>
<br />
</form>
<div id="sampleOutput">
【出力欄】
<br />
名前:<span id="sampleOutputName"></span>
<br />
地域:<span id="sampleOutputArea"></span>
<br />
年齢:<span id="sampleOutputAge"></span>
<br />
コメント:<span id="sampleOutputComent"></span>
<br />
</div>
【入力欄】
<br />
名前:<input type="text" name="formName" value="太郎">
<br />
地域:
<select name="formArea">
<option selected>関東</option>
<option>東海</option>
<option>関西</option>
</select>
<br />
年齢:
<select name="formAge">
<option selected>10代</option>
<option>20代</option>
<option>30代</option>
</select>
<br />
コメント:<textarea name="formComent">コメント</textarea>
<br />
</form>
<div id="sampleOutput">
【出力欄】
<br />
名前:<span id="sampleOutputName"></span>
<br />
地域:<span id="sampleOutputArea"></span>
<br />
年齢:<span id="sampleOutputAge"></span>
<br />
コメント:<span id="sampleOutputComent"></span>
<br />
</div>
CSS
<style>
#sampleForm,
#sampleOutput {
width: 500px;
margin: 10px;
padding: 10px;
border: 1px solid gray;
border-radius: 10px;
}
#sampleForm {
background-color: #f0f8ff;
}
#sampleOutput {
background-color: #00ffff;
}
#sampleForm * {
margin: 0 0 7px 0;
vertical-align: text-top;
}
</style>
#sampleForm,
#sampleOutput {
width: 500px;
margin: 10px;
padding: 10px;
border: 1px solid gray;
border-radius: 10px;
}
#sampleForm {
background-color: #f0f8ff;
}
#sampleOutput {
background-color: #00ffff;
}
#sampleForm * {
margin: 0 0 7px 0;
vertical-align: text-top;
}
</style>