<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
<head>
<sx:head/>
<base href="<%=basePath%>">
<title>mmm</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="<s:url value='/css/global.css'/>">
<link rel="stylesheet" type="text/css" href="<s:url value='/asset/css/list.css'/>">
</head>
<body>
<div class="div_bottom">
<s:form action="addAsset" theme="simple">
<table class="table_mod">
<tr id="trfromdb">
<td>名称:</td>
<td><s:select name="asset.name" id="fromdb" list="assetsAdd" onclick="addNameByUer('fromdb')"/></td>
</tr>
<tr id="trfromuser" style="display:none">
<td>自定义名称:</td>
<td><s:textfield name="asset.name" id="fromuser" /></td>
</tr>
</table>
</s:form>
</div>
</body>
<script type="text/javascript" src="<%=basePath%>asset/javascript/asset.js"></script>
</html>--------------------------------------------------------------------------------------------------------------
js代码function addNameByUser(ob){
/*
var txt = document.getElementById(ob).options[document.getElementById(ob).selectedIndex].text;//试过
var txt = document.getElementById(ob);//试过
*/
var txt = document.getElementById(ob).value;
alert(txt);
if(txt == "自定义"){
alert("自定义");
}
else{
alert("选择名称");
}
}
不论在select中选什么值,都没有alert出现,js中注释的两行都用过但不起作用,请问问题在哪
<%@taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags"%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
<head>
<sx:head/>
<base href="<%=basePath%>">
<title>mmm</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="<s:url value='/css/global.css'/>">
<link rel="stylesheet" type="text/css" href="<s:url value='/asset/css/list.css'/>">
</head>
<body>
<div class="div_bottom">
<s:form action="addAsset" theme="simple">
<table class="table_mod">
<tr id="trfromdb">
<td>名称:</td>
<td><s:select name="asset.name" id="fromdb" list="assetsAdd" onclick="addNameByUer('fromdb')"/></td>
</tr>
<tr id="trfromuser" style="display:none">
<td>自定义名称:</td>
<td><s:textfield name="asset.name" id="fromuser" /></td>
</tr>
</table>
</s:form>
</div>
</body>
<script type="text/javascript" src="<%=basePath%>asset/javascript/asset.js"></script>
</html>--------------------------------------------------------------------------------------------------------------
js代码function addNameByUser(ob){
/*
var txt = document.getElementById(ob).options[document.getElementById(ob).selectedIndex].text;//试过
var txt = document.getElementById(ob);//试过
*/
var txt = document.getElementById(ob).value;
alert(txt);
if(txt == "自定义"){
alert("自定义");
}
else{
alert("选择名称");
}
}
不论在select中选什么值,都没有alert出现,js中注释的两行都用过但不起作用,请问问题在哪
var txt = document.getElementById("fromdb").value; //应该加引号
你看..1楼的兄弟就没看明白你的意思..所以..写代码的首要原则就是简单易懂..
<td>名称: </td>
<td> <s:select name="asset.name" id="fromdb" list="assetsAdd" onclick="addNameByUer('fromdb')"/> </td>
</tr>
改成onchange
测试一下document.getElementById(ob)
刚测试了 貌似js文件没有加进来 汗
可是我在html中引入了js文件啊 其他页面也是这样引入的 都没问题 不知这里有什么问题
with(document.getElementById(ob)) {
var txt= options[selectedIndex].value;
}
这个应该没问题了
这个就相当于把我注释的第一行的text换成value吧 刚试了 不行
我已经改成了onchange,这点你说的没错。
js文件是一般放head中,可是放结尾可以提高页面执行效率。
我的代码现在可以运行了,怪异的是我没改它,它又可以运行了
分已经给人了,可是很感谢你的提醒