一些WEB中的问题,困扰许久,请教!

sweetBug 2010-04-30 04:25:08

<form action="x.jsp method="post">
<input type="text" name="username" />
<input type="sumbit" />
</form>

在x.jsp中可以得到name="username"这个input的值;然而,一旦将name="username"改成id="username"则在x.jsp中将无法获取到此输入值,这个有办法解决不?
还有一问题,初学AJAX,只知道将请求获取的页面内容放置到一个DIV中,即div.innerHTML=responsetext,然而,获取到的内容里的原来的JAVASCRIPT都无法使用了,这个,应该怎么解决呢?

困扰许久了,还望不吝赐教!~
...全文
124 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangchbao 2010-05-01
  • 打赏
  • 举报
回复
越听越迷糊!!!
doucument.getElementById() 是按Id来取值的 你不给id他当然取不到值了
doucument.getElementByName() 你猜他是按上面来取值的!!!
AnnieBingshuang 2010-04-30
  • 打赏
  • 举报
回复
路过
踩踩
yansue77 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sweetbug 的回复:]
谢谢各位了!

引用 4 楼 hq1305018 的回复:
第一个问题,
name="username" id="username"两个都需要.

第二个问题,
responsetext的内容是怎样的?
<script>
...
</script>
这样的应该没有问题.

第二个问题中
<script>
...
</script>里定义了一些函数,并且页面上的一些控……
[/Quote]

可以在Ajax后面再加上JavaScript的调用 例如:doucument.getElementById("a").onclick = "test()";
这样脚本就可以用了。
crazylaa 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sweetbug 的回复:]

谢谢各位了!
引用 4 楼 hq1305018 的回复:
第一个问题,
name="username" id="username"两个都需要.

第二个问题,
responsetext的内容是怎样的?
<script>
...
</script>
这样的应该没有问题.

第二个问题中
<script>
...
</script>里定义了一些函数,并且页面上的一些控件……
[/Quote]
你的这些函数必须要用servlet来生成吗?你应该把函数放在某个已存在的js文件里面,在div所在的那个页面引入这些js。servlet里面就算有元素用到了这些函数,也应该是只写这些函数的调用。不建议把函数的定义都放在servlet里面去即时生成。这样不好维护的。

个人意见。

package com.vmkid.iplug.busserver.action;

import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;

import com.opensymphony.xwork2.ActionSupport;
import com.vmkid.iplug.busserver.common.OptionBean;
import com.vmkid.iplug.busserver.dao.OptionBeanDAO;

public class AjaxGetMblOsVersionAction extends ActionSupport implements
ServletRequestAware, ServletResponseAware {

private static final long serialVersionUID = -7935648568639117966L;

private HttpServletRequest request;

private HttpServletResponse response;

public void setServletRequest(HttpServletRequest request) {
this.request = request;
}

public void setServletResponse(HttpServletResponse response) {
this.response = response;
}

public String execute() {
String mblOs = request.getParameter("mblOs");
ArrayList<OptionBean> lst;
try {
lst = OptionBeanDAO.getMblOsVersionLst(mblOs);
} catch (Exception e) {
lst = new ArrayList<OptionBean>();
}
String obs = "<select name=\"mblOsVersion\" id=\"mblOsVersion\" onchange=\"ajax_req('IV')\"><option value=\"\">--请选择--</option>";
红色部分即是调用div所在页面的一个js函数。
for (int i = 0; i < lst.size(); i++) {
obs += "<option value=\"" + lst.get(i).getValue() + "\">"
+ lst.get(i).getLabel() + "</option>";
}
obs += "</select>";
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
try {
PrintWriter out = response.getWriter();
out.write(obs);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
Mars_Ma_OK 2010-04-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 crazylaa 的回复:]
1.最好id和name都写上。ff、safari的getElementById不认name只认id,但ie不要id也能得到。所以最好都写。
你的无法获取,可能是action="x.jsp这里的.jsp后面少了"吧?
2.无法使用不会的,是你的responsetext弄的不对,也就是你的ajax的后面的处理的servlet里面没有拼对html。少了或者多了单引号、双引号之类的都会导致js错误从而……
[/Quote]

支持!!!!
sweetBug 2010-04-30
  • 打赏
  • 举报
回复
谢谢各位了!
[Quote=引用 4 楼 hq1305018 的回复:]
第一个问题,
name="username" id="username"两个都需要.

第二个问题,
responsetext的内容是怎样的?
<script>
...
</script>
这样的应该没有问题.
[/Quote]
第二个问题中
<script>
...
</script>里定义了一些函数,并且页面上的一些控件会调用这些函数,当使用AJAX获取了这个页面后,点这些控件,不起作用了,好像就没有调用了一般
hq1305018 2010-04-30
  • 打赏
  • 举报
回复
第一个问题,
name="username" id="username"两个都需要.

第二个问题,
responsetext的内容是怎样的?
<script>
...
</script>
这样的应该没有问题.
crazylaa 2010-04-30
  • 打赏
  • 举报
回复
1.最好id和name都写上。ff、safari的getElementById不认name只认id,但ie不要id也能得到。所以最好都写。
你的无法获取,可能是action="x.jsp这里的.jsp后面少了"吧?
2.无法使用不会的,是你的responsetext弄的不对,也就是你的ajax的后面的处理的servlet里面没有拼对html。少了或者多了单引号、双引号之类的都会导致js错误从而页面出不来或者js无法使用。你可以在div.innerHTML=responsetext的前面alert(responsetext)一下,检查你的到底对不对。
ladybirds2008 2010-04-30
  • 打赏
  • 举报
回复
你说的ajax 问题。迷糊ing。。。。
ladybirds2008 2010-04-30
  • 打赏
  • 举报
回复
将name="username"改成id="username" 那就是只能通过name才能接值呗。。。你可以查看下jsp中 input的 id和name属性的意义就知道怎么回事了。。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧