0
基本上我的頁面上有很多表單,我希望能夠一次訪問它們並將它們添加到一個大的獲取請求中。這很大程度上是工作的,但我在使用下拉菜單時遇到了一些麻煩,因爲它們的標記與其他形式不同(至少在我見過的示例中)。請容忍我,因爲我是新來的前端開發,但是這是我有迄今:難度序列化下拉菜單
<form id="sorting" class="auto-submit" action="/search" method="get">
<select id="sorting" class="parameter" action="/search" method="get">
% if previous.get("sorting", "false") == "relevance":
<option selected="selected" name="sort" value="relevance">Relevance</option>
<option name="sort" value="alphabetical">Alphabetical</option>
% elif previous.get("sorting", "false") == "alphabetical":
<option name="sort" value="relevance">Relevance</option>
<option name="sort" selected="selected" value="alphabetical">Alphabetical</option>
% else:
<option name="sort" value="relevance">Relevance</option>
<option name="sort" value="alphabetical">Alphabetical</option>
% endif
</select>
</form>
我目前使用嘗試訪問這些值的腳本(從其他地方推出,但我不認爲這是個問題):
function submitForms(retain_page) {
var get_data = [];
var form_list = $(".auto-submit .parameter");
for (var i in form_list){
get_data.push.apply(get_data, form_list.eq(i).serializeArray());
}
var url = document.URL.split("?")[0]+"?";
for (var o in get_data){
if (retain_page === false){
if (get_data[o].name == "page"){
get_data[o].value = 1;
}
}
url = url + (get_data[o].name + "=" +get_data[o].value + "&");
}
document.location.href = url.substring(0, url.length-1);
}
我敢肯定這個問題是我如何訪問元素,在JavaScript控制檯中我能得到什麼,我一直在尋找通過運行以下內容:
$(".auto-submit .parameter").eq(4).val()
當我嘗試序列化相同的元素時,我得到一個空的響應,這讓我覺得它不知道它應該在表單中提交,但我對於我應該在何處定義它。對不起,如果這是一個愚蠢的問題,但任何幫助表示讚賞。