2011年10月31日 星期一

Ajax.Request

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=BIG5">
            <title>02-1.htm</title>
            <script src="prototype.js"></script>
            <script type = "text/javascript">
                function readFile(path) {
                     var parm = Form.serialize("aForm");
                   var myAjax = new Ajax.Request(
                                                               path,
                                                               {
                                                                   method: 'GET',
                                                                   parameters: parm,
                                                                   onComplete: returnValue
                                                               }
                   );
                }
                function returnValue(xmlhttp) {  
                     rtnMsg="計算後的結果是:"+xmlhttp.responseText;
                     var div1 = document.getElementById("result");
                     div1.innerHTML = rtnMsg;  
                }
            </script>
        </head>
<body>
   
<form name="aForm">
    <input type="text"  name="aValue">
        <select name="elements">
            <option value="+">+</option>
            <option value="-">-</option>
            <option value="*">*</option>
            <option value="/">/</option>
        </select>
    <input type="text"  name="bValue">
    <input type="Button" value="確定" onClick="readFile('calculate.jsp')"><br>
    <div id="result"></div>
</form>
</body>
</html>

url:用來表示請求的資源,如JSP/PHP/ASP…等文件,或可能是個檔案,如文字檔或XML文件檔
method:GET或POST
parameters:用來表示接在請求資源後面的字串,如aValue=2&bValue=2,可以省去這些資源字串的串接,但是有一個限制條件,就是傳輸方式要指定為POST
onComplete:當伺服器處理完前端送出的請求時,即將觸發的事件,我們可以在這裡指定伺服器完成請求時,接著要呼叫指定的函數名稱


有十個以上的欄位時,該怎麼辦?
就用var parm = Form.serialize("aForm") 這一行程式就可以解決掉一切了
不用再使用
path = path + "?aValue="+$F("aValue");
path = path + "&bValue="+$F("bValue");
path = path + "&elements="+$F("elements");
來處理


沒有留言:

張貼留言