唠叨老大,还有各位老大.帮我一下吧,谢谢.javascript的下拉框在form中无法正常运行的问题

lxiao76 2006-10-19 10:23:24
有这样一段javascript代码

<SELECT ID="oCourses" SIZE="1" onchange="fnChange()">
<OPTION VALUE="" SELECTED>--请选择一个--</option>
</SELECT>
<TEXTAREA ID="oData1"></TEXTAREA>
<input type="text" ID="oData">
<script language=javascript>
//假设从数据库中查询到的用户上次选择结果项的值为"3"
var last_select = "3";

//下面的代码为列表框增加三个选择项
var oOption = document.createElement("OPTION");
oOption.text = "vc";
oOption.value = "1";
oCourses.add(oOption);

oOption = document.createElement("OPTION");
oOption.text = "vb";
oOption.value = "2";
oCourses.add(oOption);

oOption = document.createElement("OPTION");
oOption.text = "java";
oOption.value = "3";
oCourses.add(oOption);
/*用户在修改和查看上次的设置信息时,程序应自动选中他上次的设置结果项,下面的一条简单语句就可以实现这个功能。*/
oCourses.value = last_select;
/*下面的fnChange函数在用户每次改变选择时都将选择结果显示在一个文本框中*/
function fnChange()
{
oData.value = oCourses.options[oCourses.selectedIndex].value;
}
</script>

运行是正常的.但,我把这段代码放到了<form></form>当中就不正常了

经人指点,我改了一下

<form name="form1" action="">

<SELECT ID="oCourses" SIZE="1" onchange="fnChange()">
<OPTION VALUE="" SELECTED>--请选择一个--</option>
</SELECT>
<TEXTAREA ID="oData1"></TEXTAREA>
<input type="text" ID="oData">
<script language=javascript>
//假设从数据库中查询到的用户上次选择结果项的值为"3"
var last_select = "3";

//下面的代码为列表框增加三个选择项
var oOption = document.createElement("OPTION");
oOption.text = "vc";
oOption.value = "1";
form1.oCourses.add(oOption);

oOption = document.createElement("OPTION");
oOption.text = "vb";
oOption.value = "2";
form1.oCourses.add(oOption);

oOption = document.createElement("OPTION");
oOption.text = "java";
oOption.value = "3";
form1.oCourses.add(oOption);
/*用户在修改和查看上次的设置信息时,程序应自动选中他上次的设置结果项,下面的一条简单语句就可以实现这个功能。*/
form1.oCourses.value = last_select;
/*下面的fnChange函数在用户每次改变选择时都将选择结果显示在一个文本框中*/
function fnChange()
{
form1.oData.value = oCourses.options[oCourses.selectedIndex].value;
}
//因为你的DOM结构已经改变,要取对象要写成form1.oCourses
//或者全写成document.getElementById("oCourses")

</script>

</form>

原来下拉框里的内容无法出现的问题是解决了.但,我选择下拉框里的东西的时候,在旁边的文本框里会有内容出现的.现在,这个内容没了.这应该如何处理?谢谢.

还有,原来打开页面的时候,下拉框里默认的值是--请选择一个--,现在变成了java,谢谢.
...全文
196 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxiao76 2006-10-19
  • 打赏
  • 举报
回复
谢谢大家,非常感谢大家,问题解决了.
xuzuning 2006-10-19
  • 打赏
  • 举报
回复
怎么可能呢?
你有
//假设从数据库中查询到的用户上次选择结果项的值为"3"
var last_select = 3;

/*用户在修改和查看上次的设置信息时,程序应自动选中他上次的设置结果项,下面的一条简单语句就可以实现这个功能。*/
$('oCourses').value = last_select;

当然就有指定的默认值“java”了
web_php 2006-10-19
  • 打赏
  • 举报
回复
<form>
<SELECT ID="oCourses" SIZE="1" onchange="fnChange()">
<OPTION VALUE="" selected>--请选择一个--</option>
</SELECT>
<TEXTAREA ID="oData1"></TEXTAREA>
<input type="text" ID="oData">
</form>
<script language=javascript>
//定义一个获取对象的函数,以简化书写。所有对id的访问都通过此函数
function $(e) {
return document.getElementById(e);
}

//假设从数据库中查询到的用户上次选择结果项的值为"3"
var last_select = "";

//下面的代码为列表框增加三个选择项
var oOption = document.createElement("OPTION");
oOption.text = "vc";
oOption.value = "1";
$('oCourses').add(oOption);

oOption = document.createElement("OPTION");
oOption.text = "vb";
oOption.value = "2";
$('oCourses').add(oOption);

oOption = document.createElement("OPTION");
oOption.text = "java";
oOption.value = "3";
$('oCourses').add(oOption);

/*用户在修改和查看上次的设置信息时,程序应自动选中他上次的设置结果项,下面的一条简单语句就可以实现这个功能。*/
$('oCourses').value = last_select;
/*下面的fnChange函数在用户每次改变选择时都将选择结果显示在一个文本框中*/
function fnChange()
{
$('oData').value = $('oCourses').options[$('oCourses').selectedIndex].value;
}
</script>
lxiao76 2006-10-19
  • 打赏
  • 举报
回复
唠叨老大.默认值应该是<OPTION VALUE="" SELECTED>--请选择一个--</option>

--请选择一个-- 这样一个
xuzuning 2006-10-19
  • 打赏
  • 举报
回复
默认值是“java”,难道不对吗?
lxiao76 2006-10-19
  • 打赏
  • 举报
回复
唠叨老大果然厉害,谢谢..

不过,老大,你的代码.还是没有解决下拉框的默认值的问题了.是不是这就没办法解决?
lxiao76 2006-10-19
  • 打赏
  • 举报
回复
楼上的老大,就是因为不懂才要问嘛.不好意思.

现在改成这样了.除了那个下拉框默认值的问题,别的都解决了.哪位老大帮看一下,为什么下拉框的默认值就不对呢?

谢谢

<form name="form1" action="">

<SELECT name="oCourses" SIZE="1" onchange="fnChange()">
<OPTION VALUE="" SELECTED>--请选择一个--</option>
</SELECT>
<TEXTAREA name="oData1"></TEXTAREA>
<input type="text" name="oData">
<script language=javascript>
//假设从数据库中查询到的用户上次选择结果项的值为"3"
var last_select = "3";

//下面的代码为列表框增加三个选择项
var oOption = document.createElement("OPTION");
oOption.text = "vc";
oOption.value = "1";
form1.oCourses.add(oOption);

oOption = document.createElement("OPTION");
oOption.text = "vb";
oOption.value = "2";
form1.oCourses.add(oOption);

oOption = document.createElement("OPTION");
oOption.text = "java";
oOption.value = "3";
form1.oCourses.add(oOption);
/*用户在修改和查看上次的设置信息时,程序应自动选中他上次的设置结果项,下面的一条简单语句就可以实现这个功能。*/
form1.oCourses.value = last_select;
/*下面的fnChange函数在用户每次改变选择时都将选择结果显示在一个文本框中*/
function fnChange()
{
form1.oData.value = form1.oCourses.options[form1.oCourses.selectedIndex].value;
}
//因为你的DOM结构已经改变,要取对象要写成form1.oCourses
//或者全写成document.getElementById("oCourses")

</script>

</form>


xuzuning 2006-10-19
  • 打赏
  • 举报
回复
<form>
<SELECT ID="oCourses" SIZE="1" onchange="fnChange()">
<OPTION VALUE="" SELECTED>--请选择一个--</option>
</SELECT>
<TEXTAREA ID="oData1"></TEXTAREA>
<input type="text" ID="oData">
</form>
<script language=javascript>
//定义一个获取对象的函数,以简化书写。所有对id的访问都通过此函数
function $(e) {
return document.getElementById(e);
}

//假设从数据库中查询到的用户上次选择结果项的值为"3"
var last_select = "3";

//下面的代码为列表框增加三个选择项
var oOption = document.createElement("OPTION");
oOption.text = "vc";
oOption.value = "1";
$('oCourses').add(oOption);

oOption = document.createElement("OPTION");
oOption.text = "vb";
oOption.value = "2";
$('oCourses').add(oOption);

oOption = document.createElement("OPTION");
oOption.text = "java";
oOption.value = "3";
$('oCourses').add(oOption);
/*用户在修改和查看上次的设置信息时,程序应自动选中他上次的设置结果项,下面的一条简单语句就可以实现这个功能。*/
$('oCourses').value = last_select;
/*下面的fnChange函数在用户每次改变选择时都将选择结果显示在一个文本框中*/
function fnChange()
{
$('oData').value = $('oCourses').options[$('oCourses').selectedIndex].value;
}
</script>
gu1dai 2006-10-19
  • 打赏
  • 举报
回复
你或者不懂js

你甚至不懂html.
gu1dai 2006-10-19
  • 打赏
  • 举报
回复
<input type="text" ID="oData">

改为。

<input type="text" name="oData">
lzkd 2006-10-19
  • 打赏
  • 举报
回复
帮顶.
lxiao76 2006-10-19
  • 打赏
  • 举报
回复
麻烦大家了,我不懂js的.再次谢谢