2011-09-26 51 views
0

我在玩mochaUI,並且很難讓POST數據正常工作。我有一個表單和一個提交按鈕。我正在使用MochaUI.updateContent在面板中工作。在主面板中,我有形式和下面的JS:MochaUI發佈數據和MochaUI.update內容

<script type="text/javascript" charset="utf-8"> 
$('stp1btn').addEvent('click', function(e){ 
    MochaUI.updateContent({ 
     element: $('mainPanel'), 
     method: 'post', 
     data: "w=1", 
     url: '/postFile.php', 
     title: 'Test Post Stuff durrrrrr', 
     padding: { top: 8, right: 8, bottom: 8, left: 8 } 
    }); 
}); 
</script> 

哪個職位,然後應該更新同一面板的頁面。但是,我無法將其正確發佈。即使在上述示例數據僅爲「w = 1」的示例中,除了mochaUI中包含的mootools js文件之外,實際發佈的內容是「w = 1」:

這是從Firebug的表單數據:

0:w 
1:= 
2:1 
$family[name]:string 
test:function (a,b){return((typeof a=="string")?new RegExp(a,b):a).test(this); 
} 
contains:function (a,b){return(b)?(b this b).indexOf(b a b)>-1:this.indexOf(a)>-1;} 
clean:function(){return this.replace(/\s /g," ").trim(); 
} 
camelCase:function(){return this.replace(/-\D/g,function(a){return a.charAt(1).toUpperCase();});} 
hyphenate:function(){return this.replace(/[A-Z]/g,function(a){return("-" a.charAt(0).toLowerCase()); 
});}[SNIP] 

我使用了一個框架(笨),它不允許查詢字符串,從而防止甚至查看目的地php文件後的數據。

頁面上的html都是正確的。

我試過用引號和撇號來描述數據。

我搜索了互聯網尋找答案的地區。發現山雀,所以它不是一個徹底的清洗。

如果任何人都可以提供一些有關如何/將如何將js注入發佈數據的信息,我將非常感激。

回答

1

只是嘗試:

$('stp1btn').addEvent('click', function(e){ 
    MochaUI.updateContent({ 
     element: $('mainPanel'), 
     method: 'post', 
     data: { w: 1 }, 
     url: '/postFile.php', 
     title: 'Test Post Stuff durrrrrr', 
     padding: { top: 8, right: 8, bottom: 8, left: 8 } 
    }); 
}); 

MooTools的請求確實與對象文本或以其他方式對數據進行工作 - 即使可以序列的表格元素,所以數據:document.id("formel")是通常很好。

如果mochaui的子類沒問題,那麼它應該工作。

+0

謝謝Dimitar。那麼數據參數是否會期望json?此外,我試圖讓它序列化的形式,因爲這是我想要的最終結果。在你的例子中,你有document.id('form')。這是確切的方式嗎?即我嘗試了數據:$('form'),它不起作用。在你的例子中,document.id是指什麼?還是隻是相當於jquery $的mootools呢?非常感謝。 – stormdrain

+0

取決於mootools的版本。如果你在1.2之前 - 1.2.3之前,這是mochaui附帶的東西,那麼document.id不會是任何東西 - 從那以後,$成爲document.id的別名,所以它不會發生衝突。數據需要一個對象,來自元素或值對查詢字符串。我會推薦從github最新抓取mochaui,它的過去版本是0.97 –

+0

是的,我正在運行最新版本。我認爲這讓我感到困惑 - 我在幾個例子中看到了$使用。它現在不起作用,但不是我在問題中使用的值對查詢字符串? 「W = 1」?對於記錄,我也嘗試過一個類似「w = 1&d = 8」的結果,其中POST是js文件的一部分。再次感謝。 – stormdrain

0
<script type="text/javascript" charset="utf-8"> 
$('stp1btn').addEvent('click', function(e){ 
    var myRequest = new Request({ 
     url: '/le_formDerp.php', 
     onSuccess: function(responseText){ 
      MochaUI.updateContent({ 
       element: $('mainPanel'), 
       content: responseText, 
       title: 'Test Post Stuff durrrrrr', 
       padding: { top: 8, right: 8, bottom: 8, left: 8 } 
      }); 
     }, 
    }).send($('stp1_form').toQueryString()); 
    myRequest.send(); 
}); 
</script> 

hurrrrrr durrrrrr