如何引用AJAX传回来的元素属性

jack_wang0823 2013-05-13 05:50:20
做一个练习碰到了问题
index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
#searchResult{width:920px;height:400px; OVERFLOW: scroll; OVERFLOW-X: hidden; border:1px dotted black; margin-top:1px;background-color:#00f600; }
</style>
<script>
var cur_id_no;
var xmlhttp;
var baseURl="show.php";
function $(str){return (document.getElementById(str));}
function getXMLRequester(){
var xmlhttp_request=false;

try{
if(window.ActiveXObject) {
for (var i=5;i>-1;i--){
try{
if (i==2){
xmlhttp_request=new ActiveXObject("Microsoft.XMLHTTP");
}else{
xmlhttp_request=new ActiveXObject("Msxml2.XMLHTTP."+i+".0");
}
break;
}catch(e){
xmlhttp_reques=false;
}
}
}else if (window.XMLHttpRequest) {
xmlhttp_request=new XMLHttpRequest();
}
}catch(e){
xmlhttp_request=false;
}
return xmlhttp_request;
}

function start_search(){
xmlhttp=getXMLRequester();
xmlhttp.onreadystatechange=xmlhttp_onreadystatechange;
xmlhttp.open("GET",baseURl,true);
xmlhttp.send(" ");
}

function xmlhttp_onreadystatechange(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
$("searchResult").innerHTML=xmlhttp.responseText;
}else{
$("searchResult").innerHTML="载入失败,返回码:"+xmlhttp.status;
}
}else{
$("searchResult").innerHTML="载入中,当前状态:"+xmlhttp.readyState;
}
}

function start_edit(){
alert ($("on_sele_radio").value);
}

window.onload= function(){
$("cmd_search").onclick=start_search;
start_search();
}
</script>
</head>
<body>
<DIV id="searchBar">
<input id="cmd_search" type="button" onclick= "start_search()" value="刷新"/>
<input id="cmd_edit" type="button" onclick= "start_edit()" value="修改"/>

</DIV>
<div id="searchResult"></div>
</body>
</html>


show.php

<?

$mysql_server_name = "localhost";
$mysql_username = "root";
$mysql_password = "123456";
$mysql_database = "gbook";

$sql = "SELECT * FROM gbook ORDER BY 'id' DESC"; //排序 后留言的在前面显示
$conn = mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
mysql_query("set names utf8;");

mysql_select_db($mysql_database,$conn);

$result = mysql_query($sql);
?>
<table width="800" border="1">
<th width="170">日期时间</th>
<th width="80">IP</th>
<th width="80">姓名</th>
<th>性别</th>
<th width="100" >Email地址</th>
<th width="180">留言内容</th>
<th>选择</th>

<?
while($row = mysql_fetch_row($result))
{ // ----if语句判断男女------
if($row[2]==1)
{ $gender = '男';}
else
{ $gender = '女'; }
?>
<tr>
<td> <p><?=$row[6]?> <p></td>
<td> <p> <?=$row[5]?> </p> </td>
<td> <p><?=$row[1]?><p> </td>
<td> <p><?=$gender?> <p></td>
<td> <p> <?=$row[3]?></p></td>
<td> <p><?=nl2br($row[4])?><p></td>
<td> <p><input id="on_sele_radio" type="Radio" value=<?$row[0]?> > <?=$row[0]?>
</p>
</td>
</tr>
<?
}
mysql_free_result($result);
?>
</table>


如何在修改按钮绑定的事件中获得单选框的值.
现在的情况是提示一个惊叹号, 无任何内容
...全文
183 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jack_wang0823 2013-05-16
  • 打赏
  • 举报
回复
多谢各位耐心指导, 我现在看jQuery,碰到一些疑问 http://bbs.csdn.net/topics/390460403?page=1#post-394504595 希望各位帮帮忙看看
jack_wang0823 2013-05-14
  • 打赏
  • 举报
回复
引用 1 楼 shadowsick 的回复:
建议使用框架进行ajax请求,不然太烦琐了 具体可参考我的开源项目,里面分页什么的都是用基于jQuery的ajax请求实例 http://blog.csdn.net/shadowsick
想先把基础的东西搞透一点, 然后在使用框架. 一开始就使用框架的话, 学习的难度太高了
jack_wang0823 2013-05-14
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
1、你的单选钮没有命名,所以每个单选钮都是独立的,没有分组 2、你的单选钮都使用了相同的 id,违背了 id 唯一性原则 所以你的 start_edit 只能取得第一个单选钮的值 3、判断一个单选钮是否被选中,不能简单的读取单选钮的值(这一点与服务器端不同),因为 value 始终都是存在的。而是要遍历所有同名单选钮,逐一检查 checked 属性是否为真,为真的才是被选中的
是不是,使用不同的ID 相同的name,才能取得 根据name 获取单选按钮组的的值呢; 如果必须经过遍历来检查checked, 那就太麻烦了. 如果记录很多,效率太低了
xuzuning 2013-05-14
  • 打赏
  • 举报
回复
1、你的单选钮没有命名,所以每个单选钮都是独立的,没有分组 2、你的单选钮都使用了相同的 id,违背了 id 唯一性原则 所以你的 start_edit 只能取得第一个单选钮的值 3、判断一个单选钮是否被选中,不能简单的读取单选钮的值(这一点与服务器端不同),因为 value 始终都是存在的。而是要遍历所有同名单选钮,逐一检查 checked 属性是否为真,为真的才是被选中的
jack_wang0823 2013-05-14
  • 打赏
  • 举报
回复
汗颜... 本人刚刚开始学JS之类的网站开发.. 正在学基础. 关于上面这个问题. 我下面有试了好多次, 教材上说, 把一组单选框的名字相同, 可以得到一个一个对象. 进而可以得到一个字值, 景测试发现 , 只有在东一个节点下的单选框组踩有效, 不再统一节点下的是无效的. 比如上面这个练习中, 各个选项在表格的各行, 就不行了. 有NAME存取只能得到第一个值的内容, 是不是这样呢?
小丑哥_V5 2013-05-14
  • 打赏
  • 举报
回复
引用 8 楼 jack_wang0823 的回复:
[quote=引用 1 楼 shadowsick 的回复:] 建议使用框架进行ajax请求,不然太烦琐了 具体可参考我的开源项目,里面分页什么的都是用基于jQuery的ajax请求实例 http://blog.csdn.net/shadowsick
想先把基础的东西搞透一点, 然后在使用框架. 一开始就使用框架的话, 学习的难度太高了[/quote] 想法是美好的,现实是残酷的,在公司里工作不会给你那么多时间去研究透再去实现功能...你懂的
小丑哥_V5 2013-05-13
  • 打赏
  • 举报
回复
建议使用框架进行ajax请求,不然太烦琐了 具体可参考我的开源项目,里面分页什么的都是用基于jQuery的ajax请求实例 http://blog.csdn.net/shadowsick
呵呵我来啦 2013-05-13
  • 打赏
  • 举报
回复
Ext.getCmp(id).getValue(); +1
wyx100 2013-05-13
  • 打赏
  • 举报
回复
回复于: 2013-05-13 14:10:02 Ext.getCmp(id).getValue();
NANU-NANA 2013-05-13
  • 打赏
  • 举报
回复
Ext.getCmp(id).getValue();

87,991

社区成员

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

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