我在使用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'>
答案 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">
中指定的