我添加了一个应该打开日历'日期选择器'的按钮。该按钮采用在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正在造成它,但我无法弄清楚原因。
我想首先杀死由此按钮触发的所有代码。我想让它成为一个愚蠢的按钮,点击时不会做任何事情。
这可能会发生什么?我该如何解决?
答案 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>
标记正在执行的操作。