提交表单时,输入值不会结转

时间:2016-12-15 14:22:41

标签: javascript

我对这个问题感到非常内疚。但是,我尝试了一切,没有任何效果......迫使我在这里问。如果建议,我会删除这个问题。

在网站的Chrome控制台上:https://search.cisco.com/search?tab=Cisco&locale=enUS, 我执行了以下操作:

  1. //works fine document.getElementById("searchform").submit() ;
  2. "Hello World!"
  3. 第1行正常工作,并使用"Hello World!"填充输入。第2行提交表单和页面重新加载但不知何故optionalFacetFilters: ["featuredIn.category:category1"]在页面加载时没有结转。如果有人能解释为什么会这样,那就太棒了?

2 个答案:

答案 0 :(得分:0)

您正在为输入字段填充值,然后提交表单。 表单操作等于点,因此它实现了页面的编码。 您设置的输入字段值没有任何name atrtibute,因此它在url地址的查询字段中丢失,看起来没有提交任何内容。

当您从键盘输入搜索词时,其他脚本执行(可能是ajax)请求,并在没有页面重新加载的情况下显示结果。

<强> EDITED 当您在键盘上按Enter键时,脚本会使用?query = searc-term参数重新加载页面。并且查询不是您填充值

的文本输入的名称

答案 1 :(得分:0)

第一步将Hello World!放入搜索字段。第二步提交了搜索表单。它应该带回Hello World!的搜索结果,但它没有。

发生了什么事?

我看了一下表格的代码,这就是我所看到的:

cisco form code

它具有普通的html表单属性,例如idclassaction

它还有一个额外的属性:ng-submit

快速谷歌搜索ng-submit让我发现了这个:

  

ngSubmit

     
      模块ng中的
  • 指令
  •   
     

启用将角度表达式绑定到onsubmit事件。

     

此外,它会阻止默认操作(表单意味着将请求发送到服务器并重新加载当前页面),但前提是表单不包含操作,数据操作或x - 作用属性。

     

来源:https://docs.angularjs.org/api/ng/directive/ngSubmit

由此,我们可以确定两件事:

  1. 思科使用Angular的ng-submit收集查询并返回搜索结果。
  2. 如果没有Angular&#39; ng-submit
  3. ,搜索功能就无法使用

    你做的一切都是正确的;遗憾的是,搜索功能并不是通过正常提交表单来设计的;它需要是Angular的ng-submit