我正在尝试使用Jquery点击sumbit按钮验证文本字段但不幸的是字段s未验证这里是我的Html和js代码
<span id="as_input_list">
<dt><label for="id_video_id" class="after_none">Video Link <span class="s_round_black">1</span></label></dt>
<dd>
<input name="video_id" id="id_video_id_1" class="textField long as_video_input" type="text" value="" onkeyup="remove_color($(this));">
</dd>
</span>
<dd>
<a href="#1" id="as_addmore" onclick="add_more_video();" style="float:right;" >Add more</a>
</dd>
<dt> </dt>
<dd><div class="buttons" style="padding-top: 10px;">
<input class="inputsubmit on" id="" name="" value="Add Video" type="submit" onclick="save_video();" >
<input class="inputsubmit off" id="" name="" value="Cancel" type="button" onclick="javascript:window.location.href='/staff/videos/?message=oc'"></div>
</dd>
这是我的js文件我正在使用一些现有的代码,我也是javascript的新手。
function save_video(){
var videos = '';
var is_error = false;
var url_match = /https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?/;
$('.as_input_list').each(function(index){
if (index == 0) {
if(!url_match.test($(this).val()) || $.trim($(this).val()) == ''){
$(this).addClass('error');
is_error = true;
$(this).parent().prev('dt').children('label').addClass('error');
$(this).parent().prev('dt').children('label').children('.s_round_black').css('background-color','red');
}
else{
videos = $(this).attr('name') + '=' + $.trim($(this).val()) ;
}
}
else{
if(!url_match.test($(this).val()) || $.trim($(this).val()) == '' ){
is_error = true;
$(this).addClass('error');
$(this).parent().prev('dt').children('label').addClass('error');
$(this).parent().prev('dt').children('label').children('.s_round_black').css('background-color','red');
}
else{
videos += '&' + $(this).attr('name') + '=' + $.trim($(this).val()) ;
}
}
});
if(is_error){
return false;
}
}
答案 0 :(得分:0)
您声明了<span id="as_input_list">
的ID,但在js部分中,您是按类$('.as_input_list')
调用它。
尝试更改
$('.as_input_list')
到
$('#as_input_list')