我试图发送POST,如果一个span被选中(点击)在class=List这是我的代码
<script>
$(function() {
//Another try
$('.list').change(function(){
alert("Work");
$('#ExSearchForm').submit();
});
//first try
$('#ExSearchForm').submit(function(e){
e.preventDefault();
$.ajax({
url:'/search.asp',
type:'POST',
data:$('#ExSearchForm').serialize(),
dataType:'text',
success: function(response)
{
alert(response);
}
});
});
});
</script>
<form id="ExSearchForm" name="ExSearchForm" >
<div class="list">
<div class="nomination">Category</div>
<div class="name">
<label class="selected-cat">
<input onchange="$('#ExSearchForm').submit();" type="radio" name="Category" value="1" /><span>Audio<i>1</i></span>
</label>
<label class="selected-cat">
<input onclick="$('#ExSearchForm').submit();" type="radio" name="Category" value="2" /><span>Video<i>0</i></span>
</label>
<label class="selected-cat">
<input onclick="$('#ExSearchForm').submit();" type="radio" name="Category" value="3" /><span>Auto<i>10</i></span>
</label>
</div>
<div class="clear"></div>
</div>
</form>
但是它没有发送任何请求到服务器,什么都没有发生,没有提交,但是警报正在工作如果我设置onchange="this.form.submit()",它会在不被jquery捕获的情况下将表单提交到当前页面。
那么如何在class=List中的每个时间跨度被选中(单击)后发送POST呢?
$('.list').change()
?
A DIV
没有onchange
事件—此事件类型仅适用于表单字段。要监听.list
中任何表单字段的更改,必须展开选择器:
$('.list input, .list select, .list textarea').on( 'change', /* … */ );
而且,在大多数浏览器中,提交事件只能在一个表单上触发,如果至少有一个提交按钮(例如<input type="submit" value="Send">
或<button type="submit">Send</button>
)。