2017-04-20 66 views
0

我有一個表單,其中允許用戶更改頁面上結果數量的字段,計劃是提交表單以更新結果(如果它們更改頁面大小)。提交更改()不起作用

<form id="js-selectionForm" class="simple_form" method="get" action="/knowledge/contaminants.php"> 
<div class="pad-5"> 
... 
</div> 

<div class="pad-5"> 
... 
</div> 

<div class="pad-5"> 
... 
</div> 

<div class="pad-5"> 
... 
</div> 

<div class="pad-5"> 
    <input class="button pad-2" id="submit" type="submit" name="submit" value="Search"/> 
    <h3 class="text-purple inline-block margin-10-left"> 
     Please select search criteria above     </h3> 
    <label class="right">Page size: 
     <input class="refreshPage" type="number" name="pageSize" min="1" max="100" 
       title="The number of results per page - 1 to 100" 
       value="25"/> 
    </label> 
</div> 

我jQuery包含以下;

$('.refreshPage').change(function() { 
    $("#js-selectionForm").submit(); 
}); 

我知道這個選擇工作,因爲我已經把的console.log語句來檢查,但形式從未提交。我之前使用過類似的代碼,它一直在運行,所以我必須在這裏做錯事,有人能幫我發現我的錯誤嗎?

+0

不應該的形式方法是 '後'? – Kris

+0

是你的頁面刷新? – madalinivascu

+1

你不能有任何具有'name'或'id'「提交」的元素。 – Ivar

回答

0

您不一定需要.submit();見:

$('.refreshPage').change(function() { $("#submit").click(); });

PS - 你缺少一個<form />底。這可能是爲什麼它不起作用。你的代碼對我來說似乎是正確的

+0

這並不能解釋爲什麼'.submit()'不起作用。 – Ivar

+0

碎表格標籤 – jtrein

+0

這不是問題所在。 – Ivar

0

按@伊瓦爾的建議,改變的nameid提交輸入

$('.refreshPage').change(function() { 
 
    $("#js-selectionForm").submit(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<form id="js-selectionForm" class="simple_form" method="get" action="/knowledge/contaminants.php"> 
 

 
<div class="pad-5"> 
 
    <input class="button pad-2" id="submitMe" type="submit" name="submitMe" value="Search" /> 
 
    <h3 class="text-purple inline-block margin-10-left"> 
 
     Please select search criteria above     </h3> 
 
    <label class="right">Page size: 
 
     <input class="refreshPage" type="number" name="pageSize" min="1" max="100" 
 
       title="The number of results per page - 1 to 100" 
 
       value="25" /> 
 
    </label> 
 
</div> 
 
</form>