当表格提交中的类相同时,按钮和跨度之间有什么区别。

时间:2017-08-26 10:18:50

标签: javascript jquery html ajax forms

我在使用ajax调用提交表单时克服了跨度和按钮问题。

这是我的代码,带有按钮:

<form>
<button class="btn btn-round btn-fill pull-right mg-top"  id="gdBasic" >Generate</button>
</form>

这是我的代码,其中包含span:

<form>
<span class="btn btn-round btn-fill pull-right mg-top"  id="gdBasic" >Generate</span>
</form>

javascript Generate Starts here .....

$("#gdBasic").click(function () {
///////////////Ajax call is inside.//////////////////
});

我的问题是标签跨度表单提交得很好并从ajax获得响应但是当我用按钮标签页面做的时候更新了。

所以我只是想知道它们之间有什么区别 我没有为按钮标记

<button type='submit'>

2 个答案:

答案 0 :(得分:7)

如果您不另外说明,浏览器通常会将button内的form解释为提交按钮。如果您需要他们停止这样做,请使用:

// with type button, the form will not refresh the page.
<button type="button">Will not refresh the page.</button>

如果您知道自己总是通过ajax提交表单(例如,如果您先进行复杂的验证),则可以在表单上添加此表格作为安全措施:

<form onsubmit="return false;">

这将阻止来自html的任何默认提交,但仍允许您操纵表单输入并在ajax调用中使用它们。

答案 1 :(得分:2)

span是一个内联页面元素,一个容器,用于默认情况下包装其内容的东西,除非另有说明。 button是一个控件,旨在提供页面上的事件,通常可以完成一些操作,如提交表单字段,向页面添加新内容,导致页面组件重新排列。在全球范围内,网络用户将跨度的可视化表示识别为内容显示,并将按钮的可视表示识别为动作使能者。

如果表单提交是您的意图,并且您不想使用<input type="submit">,请使用<input type="button">或按照上面的回答<button type="button">中指定的