【发布时间】:2010-02-17 14:24:10
【问题描述】:
我的应用程序更新了一些框架以及 jquery,但现在无法正常工作。我不知道该怎么做,因为我没有得到有用的信息来调试。这就是我要找的东西:
GIVEN:我在带有文本字段和提交按钮的选定页面上 何时:我在文本框中输入几个字母 那么:我希望使用与数据库中的值匹配的可用帐户自动完成。
GIVEN:我看到了一个想要添加到列表中的值 何时:我点击“添加” THEN:我想通过 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");
}
}
我目前得到的结果:
- 当我在文本框中输入内容时,我看到一个带有以下 Firebug 的空表单:
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
【问题讨论】:
-
你能提供一个示例页面吗?
-
是的,让我修复这些页面,看看我能不能做到。
-
@Angela:嗯?我只是要求一个示例页面,因为我无法使用 Firebug 屏幕截图。
-
您是指屏幕截图或实时页面的 URL?
-
在我看来不像自动完成代码,看起来像 btnAddOffer 的事件处理程序。您使用的是什么自动完成代码?不久前在 QCodo 论坛上发布了一个使用 jQuery AutoComplete 的示例,我最终在我的项目中使用了该示例。它为您提供了一个 QAutoCompleteTextBox 控件,该控件又提供了一个 QAutoCompleteTextBoxEvent。在调用此事件时,它返回(通过回显)条目数组中与迄今为止键入的文本匹配的每个元素(使用 QQuery)。如果您正在使用这种方法(或想要!),请告诉我,我会发布一些示例代码作为答案
标签: php debugging autocomplete