|登录 |注册

12
返回列表 发新帖
打印 上一主题 下一主题

AJAX 疑问

 关闭 [复制链接]
Super-Tomato
2009-10-9 07:14 PM
原帖由 宅男-兜着走 于 2009-10-9 06:24 PM 发表
一针见血。 多谢你的回复。



有些重点自己去发觉會更加容易掌握, 這個网址讓你參考
http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
宅男-兜着走
2009-10-9 07:41 PM

<html>
<title>ajax + jquery tutorial.</title>
<script src="jquery-1.3.2.min.js"></script>
<script language="javascript" src="ajax.js"> </script>
<head> </head>

<script language="javascript">

function connect(){
        httpObject = getHTTPObject(); // 得知使用者的 Browser 支持不支持AJAX
        if(httpObject != null){  // return 不是null, 执行。
        httpObject.open("POST" , "my_class.php" , true); // URL
        var params = ''; // variable , 准备被 POST 的。
        var obj = document.getElementsByName('send'); // 下面的textinput。
       
        for(i=0; i < obj.length; i++){
                params+= i>0? "&send[]="+obj.value : "send[]="+obj.value; // 准备要post 的data
                }
        httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        httpObject.setRequestHeader("Content-length", params.length);
        httpObject.setRequestHeader("Connection", "close");
        httpObject.onreadystatechange =function(){
                if(httpObject.readyState == 4){
                alert(httpObject.responseText);
                }
                }
       
        httpObject.send(params);
        }
        }


</script>
<body>
<script language="javascript">
for(i=0; i < 20; i++){
document.write("<input type='text' name='send'><br>");
}
</script>
<input type="button" value="test_ajax" onMouseDown="connect()"/>
</body>


</html>

刚才练习了下。
外国有个kalao 说, 把这个URL POST 的东西变成PHPARRAY, 那么就省了很多时间了。 但是刚才使用的时候怪怪的感觉。 有时可以有时不可以。 而且使用者有"&"的话直接读取出问题。

params+= i>0? "&send[]="+obj.value : "send[]="+obj.value;
Super-Tomato
2009-10-9 07:44 PM
原帖由 宅男-兜着走 于 2009-10-9 07:41 PM 发表

刚才练习了下。
外国有个kalao 说, 把这个URL POST 的东西变成PHPARRAY, 那么就省了很多时间了。 但是刚才使用的时候怪怪的感觉。 有时可以有时不可以。 而且使用者有"&"的话直接读取出问题。

params+= ...


i>0? "&send[]="+obj.value : "send[]="+obj.value;

這樣 javascript 不會报错?
Super-Tomato
2009-10-9 07:59 PM
原帖由 宅男-兜着走 于 2009-10-9 07:41 PM 发表

刚才练习了下。
外国有个kalao 说, 把这个URL POST 的东西变成PHPARRAY, 那么就省了很多时间了。 但是刚才使用的时候怪怪的感觉。 有时可以有时不可以。 而且使用者有"&"的话直接读取出问题。

params+= ...



這個例子寫給你參考


<html>
<head>
<title>Super-Tomato List Input</title>
<script type="text/javascript">
    function listInput(form)
    {
        var param = new Array();
        
        for(var j=0; j<form.childNodes.length; j++)
        {
            var node = form.childNodes[j];
            if(node.tagName == "INPUT" && node.name.length)
            {
                param.push(node.name+"="+node.value);
            }
        }
        
        alert(param.join("&"));
        return false;
    }
</script>
</head>
<body>
    <form action="" method="post" >
        Input 1 : <input type="text" name="item1" /><br />
        Input 2 : <input type="text" name="item2" /><br />
        <input type="submit" value="Submit" />
    </form>
</body>
</html>

回复 #13 Super-Tomato 的帖子

宅男-兜着走
2009-10-9 07:59 PM
不会啊 -.- ||| 会报错的吗?
Super-Tomato
2009-10-9 08:05 PM
原帖由 宅男-兜着走 于 2009-10-9 07:59 PM 发表
不会啊 -.- ||| 会报错的吗?



忘了... 你的 FF 没有安裝 Plugin 所以看不到错误,用 IE 左下角會出現惊叹号
宅男-兜着走
2009-10-9 08:07 PM
原帖由 Super-Tomato 于 2009-10-9 07:59 PM 发表



這個例子寫給你參考




Super-Tomato List Input

    function listInput(form)
    {
        var param = new Array();
        
        for(var j=0; j


看到了,但是你的form 忘记 set event 。-.-|||
感谢。
Super-Tomato
2009-10-9 08:10 PM
原帖由 宅男-兜着走 于 2009-10-9 08:07 PM 发表


看到了,但是你的form 忘记 set event 。-.-|||
感谢。



我是在 <form 标签中加入了 event , 提交的時候被过滤掉了

回复 #18 Super-Tomato 的帖子

宅男-兜着走
2009-10-9 08:25 PM
这个执行速度是吓到我下。超快。 我用你的方法, 果然完全不同。
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2026-1-2 02:37 AM , Processed in 0.086847 second(s), 21 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部