Javascript 使用click()重新提交表单时出现的问题
我遇到了一些有趣的事情,对此我有点不知所措 基本上我有一个表格:Javascript 使用click()重新提交表单时出现的问题,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我遇到了一些有趣的事情,对此我有点不知所措 基本上我有一个表格: <form> <div class="formWrapper"> <span>Refine your search</span> <input type="text"> <select> <option>English</option>
<form>
<div class="formWrapper">
<span>Refine your search</span>
<input type="text">
<select>
<option>English</option>
<option>French</option>
<option>Dutch</option>
</select>
<button class="submitButton" type="submit" data-ajaxurl="http://localhost/_myFile.html" data-ajaxtarget="#myFile_search" >Search</button>
</div>
</form>
当我点击分页链接时,函数运行它更新隐藏输入字段中的数据编号并重新提交表单,非常简单
好的,问题出在这里:当点击提交按钮时——表单中的我的搜索按钮——我还想运行另一个函数,resetHiddenFieldNumber()
但问题是,正如您可能已经收集到的那样,由于这一行$('form.formWrapper button.submitButton'),当单击分页链接时,该函数也将运行//重新提交表单
,我不希望这样,我只希望只有在单击提交按钮时才能运行resetHiddenFieldNumber()
我尝试了几件事,其中包括提交按钮中的onclick属性:
搜索
但是,使用这种方法,正如所说的和预期的那样,当单击分页链接时,函数也会运行,因为在中单击了\u bootstrap\u pagination()
我正在重新提交表单。
我希望我能以某种方式区分分页链接和这行执行后的按钮$('form.formWrapper button.submitButton')。单击()//重新提交表单
,但我当然不能
问题是,据我所知,重新提交表单的行实际上会强制单击submit按钮,即使您实际上没有单击它
我试图使用submit()
,但整个页面都重新加载,这是不可取的
有人知道我如何在点击提交按钮时才能运行函数吗
我希望一切都清楚。如果您只想将一些数据传递给您,您不必总是以提交方式使用。您只需单击事件即可将数据提交到服务器,而无需重新加载任何页面
<div class="formWrapper">
<span>Refine your search</span>
<input type="text">
<select id="language-selection">
<option>English</option>
<option>French</option>
<option>Dutch</option>
</select>
<button class="not-submit-button" id="send-request-button" type="button" data-ajaxtarget="#myFile_search" >Search</button>
</div>
function clicked_bootstrap_pagination(clickedLink, event){
event.preventDefault();
$this = $(clickedLink);
var pageNumberValue = $this.data("number");//get number
var $hiddenField = $("#drivers_initial form input[name='number']");//hidden field
$hiddenField.val(pageNumberValue);//update value of hidden field
$('form .formWrapper button.submitButton').click();//resubmits the form
}
<div class="formWrapper">
<span>Refine your search</span>
<input type="text">
<select id="language-selection">
<option>English</option>
<option>French</option>
<option>Dutch</option>
</select>
<button class="not-submit-button" id="send-request-button" type="button" data-ajaxtarget="#myFile_search" >Search</button>
</div>
//js code
$('#send-request-button').click(function(){
//on button click
var data = $('#language-selection').val();
//collect value of the select
//send request
$.get('http://localhost/_myFile.html', data, function(response){
//refresh you UI
})
})