Не удается получить кнопку отправки в POST или автозаполнение для заполнения - PullRequest
1 голос
/ 09 февраля 2010

мое приложение обновило некоторые фреймворки, а также jquery и теперь не работает. Я не уверен, что делать, так как я не получаю полезную информацию для отладки. Вот что я ищу:

ДАНА: я на выбранной странице с текстовым полем и кнопкой отправки КОГДА: я набираю несколько букв в текстовом поле ПОТОМ: Я хочу автозаполнение доступными учетными записями, совпадающими со значениями из базы данных.

ДАНА: я вижу значение, которое хочу добавить в свой список КОГДА: я нажимаю «Добавить» ПОТОМ: Я хочу видеть выбранное значение, отображаемое на панели через 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:

альтернативный текст http://img707.imageshack.us/img707/5102/screenshot2162010102232.png

Я не уверен, что делать, так как у меня нет информации для отладки происходящего.

Вот скриншот с использованием Firebug кода, сгенерированного вокруг поля ввода, и кнопки отправки:

альтернативный текст http://img535.imageshack.us/img535/9148/screenshot292010113245a.png

Соответствующий код в контроллере:

Более подробную информацию можно найти здесь:

http://github.com/allyforce/AF-upload/blob/master/Library/Offer.class.php

Ответы [ 3 ]

1 голос
/ 16 февраля 2010

Определили ли вы метод для вызываемого события. Глядя на скриншот, вы используете QAjaxAction, а не QServerAction, но вы сказали ему метод для вызова, например:

$this->btnAddOffer->AddAction(new QClickEvent(), new QAjaxAction('btnAddOffer_click'));

, а затем

protected function btnAddOffer_click()
{
    // submit code you want here
}
0 голосов
/ 09 февраля 2010

Измените тип кнопки для отправки вместо «кнопки» (или убедитесь, что любое действие, назначенное «кнопке», делает то, что вы хотите, потому что мы не можем видеть, что функция должна вызывать с этим изображением)

0 голосов
/ 09 февраля 2010

У вас есть какой-либо javascript или CSS, который может скрывать идентификатор "btnAddOffer_ctl". Это будет первое, что я буду искать. В источнике найдите для строки bntAddOffer_ctl . Скорее всего, у этого идентификатора либо видимость CSS установлено значение скрыто .

У вас также может быть раздел JavaScript, который может выглядеть следующим образом:

document.getElementByid('btnAddOffer_ctl').style.visibility = 'hidden'; 

или

document.btnAddOffer_ctl.visibility = 'hidden'; 

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...