magento ajax使用,magento中的同步jquery ajax呼叫

我有一個表單,用戶輸入帳號,我需要檢查輸入的帳號是否是單擊保存按鈕時唯一的,但在表單提交前。這位於magento後端,並且ajax調用指向indexController中的函數acctnumAction()。magento中的同步jquery ajax呼叫

賬號的數量是動態的,可以有5個,但只有1個,所以我需要對物品進行每個循環。我給帳號字段自己的類,並循環。

這就是我得到的。

function acctCheck(){

jQ.each(jQ(".acctnum"), function(x, y){

var acct = jQ(this).val();

var field = this;

jQ.get("'.Mage::helper('core/url')->getHomeUrl().'dealerlocator/index/acctnum", {acctnum: acct}, function(data){

var items = JSON.parse(data);

if(items != ""){

$(field).addClass("validation-failed");

return false;

}

});

});

}

function saveAndContinueEdit(){

if(acctCheck() !== false){ editForm.submit(); }

}

保存按鈕onclick命中saveAndContinueEdit()並運行功能來檢查帳戶號碼。

我知道這是行不通的,ajax會異步運行,並且在返回false之前不會返回任何內容,只要它不是false,它就會提交。但我已經試過包裝在$。當Ajax調用無濟於事,我裹在$。當如果saveAndContinueEdit(),像這樣

function saveAndContinueEdit(){

jQ("#continueEdit").val("1");

jQ.when(acctCheck()).done(function(valid){

if(valid !== false){

editForm.submit();

}

});

}

但沒有做的伎倆要麼,而且可能連它應該如何工作,我只是想盡一切辦法。

讓它在每一箇中的這一點是,我可以設置一個變量爲false,如果一個帳號無效,但仍然通過其餘的迭代,以便該類仍然會被添加到字段,如果他們是無效的,所以用戶會知道,而不是修復一個,然後彈出一個無效,即使我的例子不是這樣編碼的。我知道get返回的數據是有效的,它不會同步運行。

任何人有任何想法?

2012-06-27

Ryan

+0

我沒有時間完全回答,但考慮使用像[Frame.js](https://github.com/bishopZ/Frame.js)這樣的流控制庫。它具有清理問題的能力;它有點像你想要什麼時候做的事情。呃,也許我們應該將Frame重命名爲$ .when。這是一個更好的名字。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值