14歳の自分に衝撃の事実を告げてください

以下のようなプログラムを作りました。
デフォルトでは、テキストボックスに田中雄一さんが入っています。
その横には、プルダウンメニューがあり、ログインユーザ山田隆
さんが、プルダウンメニューを変更すると、テキストボックスには
山田隆さんの名前が入ります。しかし、プルダウンメニューで最初と
同じ項目を選んだ場合には、山田隆さんではなく、デフォルトの田中
雄一さんの名前を入れたく思います。しかし、現状うまくいかず、プル
ダウンメニューでどれを選択しても山田隆さんに変更されてしまいます。
javaスクリプトでエラーが出ているようなのですが、なぜだかわかりません。
識者の方のアドバイスお願いいたします。

-----------
<html>
<head><SCRIPT LANGUAGE='JavaScript'><!--
var firstname = document.myform.Set_R12C2.value;
var firstvalue = document.myform.Set_R12C3.value;
function OC(){
var A = document.myform.Set_R7C3.value;
var B = A.slice(9);
if(firstvalue != document.myform.Set_R12C3.value){
document.myform.Set_R12C2.value = B;
}else{
document.myform.Set_R12C2.value = firstname;
}
}
//--></SCRIPT><TITLE>TEST</TITLE></HEAD>
<FORM METHOD='POST' NAME='myform'>
<INPUT NAME='P' VALUE='javascript' TYPE='HIDDEN'>
<table border=0 cellpadding=0 cellspacing=0 width=350 class=xl6420188
style='border-collapse:collapse;width:262pt'>
<col class=xl6420188 width=155 style='mso-width-source:userset;mso-width-alt:
4960;width:116pt'>
<col class=xl6420188 width=195 style='mso-width-source:userset;mso-width-alt:
6240;width:146pt'>
<tr height=18 style='height:13.5pt'>
<td height=18 class=xl6620188 width=155 style='height:13.5pt;width:116pt'><a
name="RANGE!A1:B6"></a></td>
<td class=xl6520188 width=195 style='width:146pt'>ログインユーザ: 山田隆<input name='Set_R7C3' type='HIDDEN' value='ログインユーザ: 山田隆'></td>
</tr>
<tr height=18 style='height:13.5pt'>
<td height=18 class=xl6520188 style='height:13.5pt'><input name='Set_R12C2' type='text' size='26' maxlength='50' style='height:13.5pt;width:116.25pt;font-size:11pt;background-color:#FFFFFF;text-align:center;color:#000000;font-family:MS Pゴシック;' OnKeyDown="if(event.keyCode==13){ return false; }" value='田中雄一'></td>
<td class=xl6520188>
<SELECT NAME='Set_R12C3' style='height:13.5pt;width:146.25pt;font-size:11pt;background-color:#FFFFFF;text-align:center;color:#000000;font-family:MS Pゴシック;' OnChange="OC()">
<option value=''></option>
<option value='承認する' selected>承認する</option>
<option value='承認しない'>承認しない</option>
</SELECT></td>
</tr>
</table></FORM>
</body>
</html>

A 回答 (1件)

タグが複雑なので単純化しました


<script type="text/javascript">
window.onload=function(){
obj=document.forms["myform"].elements;
firstname = obj["Set_R12C2"].value;
firstvalue = obj["Set_R12C3"].value;
}
function OC(){
var A = obj["Set_R7C3"].value;
var B = A.slice(9);
if(obj["Set_R12C3"].value!=firstvalue){
obj["Set_R12C2"].value = B;
}else{
obj["Set_R12C2"].value = firstname;
}
}
</script>

<body>
<form method="post" name="myform">
<table >
<tr>
<td></td>
<td>
ログインユーザ: 山田隆
<input name="Set_R7C3" type="hidden" value="ログインユーザ: 山田隆">
</td>
</tr>
<tr>
<td>
<input name="Set_R12C2" type="text" value="田中雄一">
</td>
<td>
<select name="Set_R12C3" onchange="OC()">
<option value=""></option>
<option value="承認する" selected>承認する</option>
<option value="承認しない">承認しない</option>
</select>
</td>
</tr>
</table>
</form>
</body>
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
ご教授いただいたスクリプトでうまく動きました。

ありがとうございます。

今後ともよろしくお願いいたします。

お礼日時:2010/01/30 19:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報