2012-01-04 15 views
1

私はjqueryのを使用してsumbit]ボタンをクリックしながら、テキストフィールドを検証しようとしていますが、残念ながら、フィールドsはここで確認されていませんが、私のhtmlとjsのコードはjQueryのフィールド検証

ある
<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>&nbsp;</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

しようとする変更

$('.as_input_list') 

に 'js'があります? – diEcho

+1

あなたの 'save_video()'関数はどこから呼び出されていますか?そして、それらのフィールドは '

'要素ですか? – nnnnnn

+0

@yupフィールドはフォーム要素です。確認送信ボタン – burning

答えて

0

あなたは<span id="as_input_list">のidを宣言したが、JSの部分では、クラス$('.as_input_list')ことによってそれを呼び出します。

$('#as_input_list') 
関連する問題