8
回答
怎么把HTML页面的值传递到JavaScript方法中
终于搞明白,存储TCO原来是这样算的>>>   

在html页面的值是用${face_company.contacttel} 

用了input标签也传递不过去,

在function的方法中alert("${face_company.contacttel}")用这个可以打印出来

但是不知道怎么在function获取,求教

举报
共有8个答案 最后回答: 1年前
请整理好自己的语言,说明使用环境,或贴上代码。你这html在什么情况下才用这种表达式呢?jsp?模板?php?或者……

呵呵,这是JSP的显示方法,javascrip里不能直接取的。

你可以先把这个值放在<input type="hidden" id="xxx" value="${face_company.contacttel}"/>里,然后在Javascrip函数里用getElementById()或者jQuery来取出这个值。

传不到input标签是不正常的。可以直接在网页里打印<h1>${face_company.contacttel}</h1>试试。如果不行的话得看你的服务器函数是不是正确的,或者${face_company.contacttel}的格式是不是写错了,比如要加引号:${"variable"}


  • 写了一个 Javastript 小程序.演示见:http://runjs.cn/detail/igwe9bbo
  • 代码见:http://www.oschina.net/code/snippet_2756874_57680
  • 希望对你有用。

引用来自“tcxu”的评论


  • 写了一个 Javastript 小程序.演示见:http://runjs.cn/detail/igwe9bbo
  • 代码见:http://www.oschina.net/code/snippet_2756874_57680
  • 希望对你有用。

运行一下代码:

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<style>
h1{
font-family:隶书;
color:blue;
background-color:orange;
text-align:center;
}
</style>
<script type="text/javascript">
function checkfluits(n){
if((n >100) || (n<0)){
return false;
}else{
return true;
}
}
function check(){
for (i=0;i<document.forms[0].length-2;i++){
if  (document.forms[0].elements[i].value.length==0){
alert(document.forms[0].elements[i].name + "为空!");
return false;
}
}

if (document.forms[0].elements[0].value.length != 3){
alert("用户名必须是3个字符");
return false;
}


for( i=1;i<4;i++)
if (checkfluits(document.forms[0].elements[i].value)==false){
alert(document.forms[0].elements[i].name + "输入量不可用!\n必须在0-100kg的范围内。");
return false;
}
s="HTML 页面里的数据名: ";
for (i=0;i<document.forms[0].length;i++)
s += document.forms[0].elements[i].name + " ";
s += "\n";
s+="Your input : ";
for(i=0;i<document.forms[0].length-2;i++){
box= document.forms[0].elements[i];
s += "\n" + box.name + ": " + box.value;
}
total = 6.00*document.forms[0].香蕉.value;
total += 9.00*document.forms[0].苹果.value;
total += 8.00*document.forms[0].鸭梨.value;
    s += "\n销售额(元):" + total; 
document.forms[0].output.value = s;
return true;
}
</script>
</head>


<body>
<h1>农夫果园</h1>
<form  onSubmit="check();return false"  name='example'>
<table>
<tr>
<td>用户名</td><td><input type="text" name="用户名" size="30"></td></tr>
<tr><td>香蕉(6.00/kg): </td><td><input type="text" name="香蕉" size="30"></tr>
<tr><td>苹果(9.00/kg): </td><td><input type="text" name="苹果" size="30"></tr>
<tr><td>鸭梨(8.00/kg): </td><td><input type="text" name="鸭梨" size="30"></tr>
<tr><td>
<input type="submit" value="提交"></td> 
<td><textarea cols="40" rows="7" name="output">Output Area</textarea></td></tr>
</table>
</form>
</body>
</html>


观察代码可知,HTML 页面中只有一个 表单(form)。在 javascript 的方法中, 表示为 第一个表单:document.forms[0],这个表单中的数据名分别为:用户名 香蕉 苹果 鸭梨  output”。在 javascript 的方法中, 表示为 document.forms[0].elements[i].name (i取0到4)。其数值表示为:document.forms[0].elements[i].value


另有一例表明如何将HTML数据传到 JS 的方法中:

“用javascript 循环单链表演练犹太约瑟夫/猴子选大王问题”

http://www.oschina.net/code/snippet_2756874_57687

如果全局唯一,使用jquery 的 $("#contacttel").val();就能取到了 ,你的input 标签里要定义 id="contacttel" 属性就好了 。
顶部