我的应用程序更新了一些框架以及jquery,现在不起作用。我不知道该怎么做,因为我没有得到有用的信息回调试。这就是我要找的东西:
GIVEN:我在选定的页面上有一个文本字段和提交按钮 时间:我在文本框中输入几个字母 那么:我希望自动填充功能与可用的帐户匹配数据库中的值。
GIVEN:我看到了一个我要添加到列表中的值 时间:我点击“添加” 那么:我希望通过Ajax看到面板中显示的选定值(无需刷新页面):
以下是自动填充的代码:
$this->btnAddOffer = new QButton($this->pnlAddOffer,"btnAddOffer");
$this->btnAddOffer->CssClass = "button";
$this->btnAddOffer->Text = "Add";
$this->txtNewOffer->AddAction(new QEnterKeyEvent(), new QAjaxAction('btnAddOffer_Click'));
$this->txtNewOffer->AddAction(new QEnterKeyEvent(), new QTerminateAction());
$this->btnAddOffer->AddAction(new QClickEvent(), new QAjaxAction('btnAddOffer_Click'));
和
protected function btnAddOffer_Click($strFormId, $strControlId, $strParameter) {
if($this->txtNewOffer->Text == ''){
$this->txtNewOffer->Warning = "You must be enter a offer company name!";
return false;
}
$objUser = unserialize($_SESSION['User']);
$objAccount = Account::LoadByName($this->txtNewOffer->Text);
if($objAccount){
$objUser->AccountId = $objAccount->Id;
$objOffer = Offer::LoadByUserOwnerIdAccountId($objUser->Id,$objAccount->Id);
if($objOffer){
QApplication::DisplayAlert("This account already exists!!");
} else {
$objOffer = new Offer();
$objOffer->UserOwnerId = $objUser->Id;
$objOffer->AccountId = $objAccount->Id;
$objOffer->Save();
#QApplication::DisplayAlert("New account was added successfully");
}
}
我得到的当前结果:
alt text http://img707.imageshack.us/img707/5102/screenshot2162010102232.png
我不知道该怎么做,因为我没有信息来调试正在发生的事情。
这是一个使用Firebug的屏幕截图,它是围绕输入框和提交按钮生成的代码:
alt text http://img535.imageshack.us/img535/9148/screenshot292010113245a.png
控制器中的相关代码:
更多细节可以在这里找到:
http://github.com/allyforce/AF-upload/blob/master/Library/Offer.class.php
答案 0 :(得分:1)
您是否为要调用的事件定义了一个方法。查看截图,您使用的是QAjaxAction而不是QServerAction,但是您告诉它要调用的方法,例如: -
$this->btnAddOffer->AddAction(new QClickEvent(), new QAjaxAction('btnAddOffer_click'));
然后
protected function btnAddOffer_click()
{
// submit code you want here
}
答案 1 :(得分:0)
你有任何可能隐藏id“btnAddOffer_ctl”的javascript或CSS。这将是我要搜索的第一件事。在源代码中找到字符串 bntAddOffer_ctl 。有可能此ID将其可见性 CSS设置为隐藏。
您还可以使用可能如下所示的JavaScript部分:
document.getElementByid('btnAddOffer_ctl').style.visibility = 'hidden';
或
document.btnAddOffer_ctl.visibility = 'hidden';
希望有所帮助。
答案 2 :(得分:0)
将按钮类型更改为提交而不是“按钮”(或确保分配给“按钮”的任何操作都执行您想要的操作 - 因为我们无法看到该函数应该使用此图片调用的内容)