Re: [問題] .getForm().submit()?
※ 引述《skywillnosky (Alfred)》之銘言:
: 我想順便問一下
: AJAX 可以跟Jquery共用嗎?
問題這樣問,jquery會哭的
就像買一台iphone問它支不支援打電話一樣
prototype是一個程式庫
jQuery是一個程式庫
extjs也是一個程式庫
我其他兩個沒碰過,就只碰過jQuery
只是能肯定告訴妳
沒有任何程式庫會"不相容ajax"
: 要如何擷取AJAX的ITEM的值
: 放到Jquery?
: 這是改過的程式...
: <head>
: <script type="text/javascript" src="adapter/ext/ext-base.js"></script>
: <script type="text/javascript" src="ext-all.js"></script>
: <script type="text/javascript" src="jquery-1.3.2.js"></script>
: <script type="text/javascript" >
暫且在這邊做個記號吧
: Ext.onReady(function(){
: Ext.QuickTips.init();
: Ext.form.Field.prototype.msgTarget = 'side';
: Ext.form.Field.prototype.align = 'center';
: var bd = Ext.getBody();
: var create_form = new Ext.FormPanel({
: labelWidth: 75,
: frame:true,
: title: '填寫會員資料',
: url: '_register.php',
: bodyStyle:'padding:5px 5px 0',
: width: 400,
: defaults: {width: 230},
: defaultType: 'textfield',
: items: [{
: fieldLabel: '帳號',
: name: 'account',
: allowBlank:false
: },
: ...
: {
: fieldLabel: '手機號碼',
: name: 'cellphone',
: inputType : "password",
: allowBlank:false
: }
: ],
: buttons:
: [
: {
: text: '送出',
: handler: senddata
: },
: {
: text: '重設',
: handler: function(){
: create_form.getForm().reset();
: }
: }
: ]
: });
: function senddata() {
: if (create_form.getForm().isValid())
: {
: handler: search_contents()
: } else {
: Ext.MessageBox.alert('狀態', '不能為空的');
: }
: }
: create_form.render(document.body);
: });
這邊也做個記號
: function search_contents(){
: $(document).ready(function() {
: $.post('register.php',{
: a: $("#account").val(),
: ...
: c: $("#cellphone").val()},
: function(txt){ $('div.result').html(txt);});
: });
: }
: </script>
: </head>
: <body>
: <div id="create_form" ></div>
: <?php
: echo '$_POST[pass] = '.$_POST['pass'].'<br>';
: if(strcmp($_POST['pass'], $_POST['pass_again']) == 0 && $_POST['pass'] !=
: NULL)
: {
: $a = $_POST['account'];
: $p = $_POST['pass'];
: $pg = $_POST['pass_again'];
: $n = $_POST['name'];
: $i = $_POST['id'];
: $d = $_POST['date'];
: $c = $_POST['cellphone'];
: ......
: echo '您的會員編號:'.$in.'<br>';
: }
: else if(strcmp($_POST['pass'], $_POST['pass_again']) != 0 && $_POST['pass']
: != NULL)
: {
: echo '帳號輸入不一致<br>';
: }
: ?>
: <br/>輸入之文章:
: <div class="contents"></div>
: <br/>取代後之文章:<div class="result" id="result"></div><br/>
: <div class="contents"></div>
: <br/>取代後之文章:<div class="result" id="result"></div><br/>
: //********************************************************************//
: 我這樣寫跑起來沒反應耶
: 是因為ajax 跟 jquery不相容嗎?
我是不懂extjs的寫法啦
也沒去看完整個程式
就我稍微看一下所看到的
一、
程式有兩個開始點,一個是extjs的ready方法,另一個則是jquery的ready方法
如果這是"文件就緒時馬上執行的程式片段"
同樣使用同一個程式庫時或許就算了
(jquery如果找到兩份ready的程式碼,也同樣能夠完成裡面的全部內容)
問題是你用不同的程式庫同時寫了兩次
而我不認為這是妥當或必要的做法
就算出了問題我也不覺得奇怪
二、
第二次的ready方法(屬於jQuery的那一個)被包在一個function內等著被呼叫
這或許讓兩個ready方法不會有賽跑的情況
但問題接著冒出來
ready方法是一個事件的方法,發生在某物準備完成時(這邊指網頁內文)
而$(document).ready(fn) 所做的只是事先連結裡面的fn程式
以便在完成時觸發fn
當妳呼叫那個包著ready方法的function時
它只幫妳把fn連結到網頁完成的事件裡
"並不會"去執行fn
但是它被連結後,整個網頁完成已經是過去式了
就像送人家一張日期是三年前的機票,還問人家怎麼都不去搭
太 遲 了 !
所以ready裡面的內容一行都不會執行
BUT!
或許妳呼叫他時,還是有妳看不到的動作
那就是
一直繫結程式到一個不會再發生的事件上
妳呼叫一次他就綁定一次
只是反正不會執行,所以沒感覺
我有看到的就這兩個吧
其他的我要不就不熟,要不就不確定
這種程式庫的其中一個方法妳不能用
妳應該先想到是不是自己寫錯了
而不是質疑人家不支援他自己做的方法吧
如果不支援,人家敢在官網上寫出post方法給妳看嗎XD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.168.234.200
→
12/24 05:21, , 1F
12/24 05:21, 1F
推
12/24 08:31, , 2F
12/24 08:31, 2F
→
12/24 08:32, , 3F
12/24 08:32, 3F
→
12/24 08:32, , 4F
12/24 08:32, 4F
推
12/24 08:37, , 5F
12/24 08:37, 5F
→
12/24 08:39, , 6F
12/24 08:39, 6F
→
12/24 10:50, , 7F
12/24 10:50, 7F
→
12/24 10:50, , 8F
12/24 10:50, 8F
→
12/24 10:58, , 9F
12/24 10:58, 9F
推
12/25 05:22, , 10F
12/25 05:22, 10F
→
12/25 12:22, , 11F
12/25 12:22, 11F
推
12/25 19:23, , 12F
12/25 19:23, 12F
→
12/26 00:11, , 13F
12/26 00:11, 13F
→
12/26 00:12, , 14F
12/26 00:12, 14F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):