Php 无法获取要发布的提交按钮或要填充的自动完成按钮

Php 无法获取要发布的提交按钮或要填充的自动完成按钮,php,debugging,autocomplete,Php,Debugging,Autocomplete,我的应用程序更新了一些框架和jquery,但现在无法工作。我不知道该做什么,因为我没有得到有用的信息来调试。以下是我想要的: 给定:我在带有文本字段和提交按钮的所选页面上 何时:我在文本框中键入几个字母 然后:我希望使用与数据库中的值匹配的可用帐户自动完成 给定:我看到一个要添加到列表中的值 何时:单击“添加” 然后:我想通过Ajax查看面板中显示的选定值(无需刷新页面): 以下是自动完成的代码: $this->btnAddOffer = new QButton($this->

我的应用程序更新了一些框架和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'));
以及:

我目前得到的结果是:

  • 当我在文本框中键入时,我看到一个空表单,其中包含以下Firebug:

我不知道该怎么办,因为我没有信息来调试正在发生的事情

以下是使用Firebug在输入框和提交按钮周围生成的代码的屏幕截图:

控制器中的相关代码:

更多详细信息可在此处找到:


您是否有任何javascript或CSS可能隐藏id“btnAddOffer\u ctl”。那将是我要寻找的第一件事。在源代码中查找字符串bntAddOffer\u ctl。此id的可见性CSS设置为隐藏的可能性

您还可以有如下JavaScript部分:

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


希望有帮助。

您是否有任何javascript或CSS可能隐藏id“btnAddOffer\u ctl”。那将是我要寻找的第一件事。在源代码中查找字符串bntAddOffer\u ctl。此id的可见性CSS设置为隐藏的可能性

您还可以有如下JavaScript部分:

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


希望能有所帮助。

将按钮类型改为submit而不是“button”(或者确保分配给“button”的任何操作都符合您的要求-因为我们看不到此图片中函数应该调用什么)

将按钮类型改为submit而不是“button”(或者确保分配给“button”的任何操作做您希望它做的事情-因为我们看不到此图片中函数应该调用什么)

您定义了要调用的事件的方法了吗。查看屏幕截图,您使用的是QAjaxAction而不是QServerAction,但是您是否告诉过它要调用的方法,例如:-

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

protected function btnAddOffer_click()
{
    // submit code you want here
}

您是否为要调用的事件定义了方法。查看屏幕截图,您使用的是QAjaxAction而不是QServerAction,但是您是否告诉过它要调用的方法,例如:-

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

protected function btnAddOffer_click()
{
    // submit code you want here
}


你能提供一个示例页面吗?是的,让我修复这些页面,看看我能不能做到。@Angela:嗯?我只是要求提供一个示例页面,因为我不能用Firebug截图做很多事情。你是说截图还是一个活动页面的URL?在我看来不像是自动完成代码,看起来像是btnAddOffer的事件处理程序。您使用的是什么自动完成代码?不久前,我在QCodo论坛上发布了一个使用jqueryautocomplete的例子,我最终在我的项目中使用了这个例子。它提供一个QAutoCompleteTextBox控件,该控件反过来提供一个QAutoCompleteTextBox事件。调用此事件时,它返回(通过echo)一组条目中的每个元素,这些条目与迄今为止键入的文本相匹配(使用QQuery)。如果你正在使用这种方法(或者想要),请告诉我,我会发布一些示例代码作为回答。你能提供一个示例页面吗?是的,让我修复这些页面,看看我能不能做到。@Angela:嗯?我只是要求提供一个示例页面,因为我不能用Firebug截图做很多事情。你是说截图还是一个活动页面的URL?在我看来不像是自动完成代码,看起来像是btnAddOffer的事件处理程序。您使用的是什么自动完成代码?不久前,我在QCodo论坛上发布了一个使用jqueryautocomplete的例子,我最终在我的项目中使用了这个例子。它提供一个QAutoCompleteTextBox控件,该控件反过来提供一个QAutoCompleteTextBox事件。调用此事件时,它返回(通过echo)一组条目中的每个元素,这些条目与迄今为止键入的文本相匹配(使用QQuery)。如果你正在使用这种方法(或想要!),请告诉我,我会发布一些示例代码作为回答。我可能会错,但我认为问题是按钮上的事件没有触发,而不是按钮没有显示是的,Rob,你说得对,这是因为按钮上的事件没有触发。。。。!我可能错了,但我认为问题在于按钮上的事件没有触发,而不是按钮没有显示是的,Rob,你说得对,这是因为按钮上的事件没有触发。。。。!啊,宇宙中使用QCodo的两个人之一!太棒了,谢谢。我会把我的密码放在上面,我想我们知道了。谢谢!您仍然使用QCodo作为主要框架,还是使用其他东西作为选项或替代方案?谢谢在我做PHP的时候仍然使用它,但我主要是一名.Net开发人员。PHP是我的副业;-)啊,宇宙中使用QCodo的两个人之一!太棒了,谢谢。我会把我的密码放在上面,我想我们知道了。谢谢!您仍然使用QCodo作为主要框架,还是使用其他东西作为选项或替代方案?谢谢在我做PHP的时候仍然使用它,但我主要是一名.Net开发人员。PHP是我的副业;-)