HTML按钮表现不佳

时间:2011-01-20 05:08:27

标签: javascript html extjs

我添加了一个应该打开日历'日期选择器'的按钮。该按钮采用在EXTJS TabPanel内呈现的形式。单击该按钮时,将导致EXTJS选项卡面板重新加载。即使我删除了以下所有内容(使其成为哑钮),页面仍会重新加载。

   <button id="calendar-trigger">...</button>

编辑:源自:http://www.dynarch.com/projects/calendar/doc/

  <input type="text" id="id_activity_date" name="activity_date"> 
  <input type="button" value="..." id="calendar-trigger">
  <script type="text/javascript">
      new Calendar({
          trigger    : "calendar-trigger",
          inputField : "id_activity_date",
          onSelect   : function() { this.hide() }
     });
  </script>

我不希望重新加载发生,我无法弄清楚重新加载的原因。或者如何阻止它。只有点击按钮才会触发某些东西。我怀疑EXTJS正在造成它,但我无法弄清楚原因。

我想首先杀死由此按钮触发的所有代码。我想让它成为一个愚蠢的按钮,点击时不会做任何事情。

这可能会发生什么?我该如何解决?

3 个答案:

答案 0 :(得分:1)

请改为尝试:

<input type="button" id="calendar-trigger" value="Button Label">

我遇到了<button>代码尝试提交表单的问题以及什么时候不应该提交表单。使用带有“按钮”类型的<input>标签似乎对我有所帮助 - 也许它对您也有用。

如果您的表单上有<button>标记但没有提交按钮(<input type="submit">),则默认情况下<button>会成为输入按钮。

答案 1 :(得分:1)

在HTML中,<button>具有type属性。 type的默认值为submit,这意味着除非您指定type="button"(或其他内容),否则该按钮将触发与其关联的表单的提交。这可能是导致页面重新加载的原因(因为表单正在提交)。

或者,您可以使用<input type="button" id="calendar-trigger" />

答案 2 :(得分:0)

我建议使用<input>而不是<button>

<input type="button" value="Click Me" id="calendar-trigger" />

通常<input type="submit" />会在表单中生成提交按钮,我怀疑这是<button>标记正在执行的操作。