以下のコードでは、ラジオ ボタンを使用して 2 つの異なるtextarea
名前textA
とtextB
<input onClick="optionA();" type="radio" name="button2" value="Yes" checked /><label>Option A</label>
<input onClick="optionB();" type="radio" name="button2" value="No" /><label>Option B</label>
<div id="textA" >
<div class="input"><span><textarea class="textarea" id="textboxA" name="textA" type="text"></textarea></span> </div>
</div>
<div id="textB" style="display:none;">
<div class="input"><span><textarea class="textarea" id="textboxB" name="textB" type="text"></textarea></span> </div>
</div>
<div id="error" style="display:none;"></div>
textareaを選択textA
してデータを追加すると、 textbox の下Currently Textbox A in use
と textB にメッセージが表示されますCurrently Textbox B in use
。そのために以下のコードを使用します。
function optionA() {
$('#textA').prop("disabled",false);
$('#textA').slideDown("fast");
document.getElementById("textboxB").value="";
$('#textB').slideUp("fast");
$('#textB').prop("disabled",true);
}
function optionB() {
$('#textB').prop("disabled",false);
$('#textB').slideDown("fast");
document.getElementById("textboxA").value="";
$('#textA').slideUp("fast");
$('#textA').prop("disabled",true);
}
$("#textboxA").keyup(function () {
if((!$("#textboxA").val()) || ($("#textA").prop("disabled"))){
$("#error").slideUp("fast");
}
else{
var message;
message ="Currently TextboxA in use";
$("#error").slideDown("fast");
document.getElementById('error').innerHTML=message;
}
});
$("#textboxB").keyup(function () {
if((!$("#textboxB").val()) || ($("#textB").prop("disabled"))){
$("#error").slideUp("fast");
}
else{
var message;
message ="Currently TextboxB in use";
$("#error").slideDown("fast");
document.getElementById('error').innerHTML=message;
}
});
直面している問題: から に切り替えるtextA
と、に追加したにもかかわらずtextB
、 に表示されるメッセージが非表示になりませんerror div
$("#error").slideUp("fast");
($("#textA").prop("disabled"))
同じ問題のフィドル設定は次のとおりです