我在jsp里面 一个button 里面定义一个onclick事件 但是 调用方法时候 要是有括号就会onload 不写括号就不
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我在jsp里面 一个button 里面定义一个onclick事件 但是 调用方法时候 要是有括号就会onload 不写括号就不相关的知识,希望对你有一定的参考价值。
求解释
参考技术A 这需要解释吗onclick =""
"" 里面 就是一个匿名函数 ,就相当于 onclick= "function() a() "
你下括号表现调用a函数,不行代表a就是一个变量
你基础太差了 参考技术B 举个i简单例子g:首先新建一u个muse。js文8件,内7容: function show() alert("aa"); 然后建一g个ohtml文2件,跟use。js放在同一u个l目录下h: <html> <head> <script type="text。javascript" src="use。js"> <。script> <。head> <body> <input type="button" value="点击" onclick="show()"> <。body> <。html>x%╔印u┑dへl违p专ejs恰yt 参考技术C 后面加括号表明要执行的是个方法撒,不然它和普通变量有何分别?你要这么较真就没法弄了。追问
我问的是jsp 里面的一个button 而不是input type = button 明白么
追答jsp又怎样?还不是用的input,你myEclipse还能像VS一样自定义控件不成?
追问定义的一个标签,标签里面有方法 和onclick是一样的 但是就是在调用js的方法时候 如果写括号 就会在加载时候调用一次,如果不写就不会, 但是我还想传参数
追答你直接把代码贴出来不就完了么,而且你最好说明你那个input到底是要哪来干嘛的?还要回调?
追问
function a()
b();
我onclick时候 要是就这么写就行 要是写成a();就会在加载时候多调用一次
不太明白你这些代码是什么,但是看到有page估计你是想做分页,这些代码可能是用框架之类的自动生成的吧?
我劝你还是老老实实的自己手写分页,难道用三元运算符写个分页会很难么?
jsp下拉框联动问题
有两个下拉框select1和select2
里面的数据都是从数据库里面读的
现在想实现select1选择改变则select2里面内容也相应改变应该怎么做?
我在网上找到一个js实现的,但select2里面内容已经是静态的了
我想能不能给那个js脚本里传参数让select2里面的内容变成我从数据库里读出的内容?
js实现的页面例子如下:
<html>
<head>
<title>This is a test!</title>
</head>
<body>
<form name="frm">
<select name="s1" onChange="redirec(document.frm.s1.options.selectedIndex)">
<option selected>请选择</option>
<option value="1">脚本语言</option>
<option value="2">高级语言</option>
<option value="3">其他语言</option>
</select>
<select name="s2">
<option value="请选择" selected>请选择</option>
</select>
</form>
<script language="javascript">
//获取一级菜单长度
var select1_len = document.frm.s1.options.length;
var select2 = new Array(select1_len);
//把一级菜单都设为数组
for (i=0; i<select1_len; i++)
select2[i] = new Array();
//定义基本选项
select2[0][0] = new Option("请选择", " ");
select2[1][0] = new Option("PHP", " ");
select2[1][1] = new Option("ASP", " ");
select2[1][2] = new Option("JSP", " ");
select2[2][0] = new Option("C/C++", " ");
select2[2][1] = new Option("Java", " ");
select2[2][2] = new Option("C#", " ");
select2[3][0] = new Option("Perl", " ");
select2[3][1] = new Option("Ruby", " ");
select2[3][2] = new Option("Python", " ");
//联动函数
function redirec(x)
var temp = document.frm.s2;
for (i=0;i<select2[x].length;i++)
temp.options[i]=new Option(select2[x][i].text,select2[x][i].value);
temp.options[0].selected=true;
</script>
</body>
</html>
ps:我目前只会基本的jsp.
你的两个下拉框里面的数据很少,可以在网页生成的时候直接从数据库读出,以数组的形式生成字符串,拼进javascript里面。如: [["js","vbs"],["vb","java"]];根据第一个下拉框选择的内容确定数组索引,把相应索引动态添加到第二个下拉框中。 参考技术A 到我空间去看看“Ajax动态生成下拉菜单“文档,里面有详细介绍如何使用... 参考技术B 简单的做法jsp+js
基本思路:首先在点击第一个select时候加事件onchange,onchange事件主要作用是与后台进行ajax交互取得你所需要的第二个select值,然后在页面用js写html标签将第二个select插入相应位置即可。
做法:
1.上网研究ajax
2.上网研究用js如何创建html标签
以上如能研究透彻,思路即可异常清晰明了。
代码先就暂时不提供了,这几天忙的蛋疼。 参考技术C AJAX 参考技术D AJAX一定要学习!
以上是关于我在jsp里面 一个button 里面定义一个onclick事件 但是 调用方法时候 要是有括号就会onload 不写括号就不的主要内容,如果未能解决你的问题,请参考以下文章
做一个web登录界面,login.jsp里面进行登录,loginservlet进行登录处理,然后转回login.jsp进行显示