2012-04-13 8 views
0

ダイナミックに新しいテキストフィールドを追加するために作成されたjQueryコードを作成しました。 また、フィールドの量もチェックします。このために良いjQueryのAjaxコードを取得できません

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 

<head> 
<style type="text/css"> 

    fieldset { 
     margin-bottom: 1em; 
    } 

    input { 
     display: block; 
     margin-bottom: .25em; 
    } 

    #print-output { 
     width: 100%; 
    } 

    .print-output-line { 
     white-space: pre; 
     padding: 5px; 
     font-family: monaco, monospace; 
     font-size: .7em; 
    } 

    .enter { 
     padding-bottom: 15px;72-96027-0008 

    } 

</style> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
</head> 

<body onload="doIt();"> 

<form> 
    <div id="fields"> 
     <input id="input_'+ i +'" type="text" name="barcodes[]" class="target" /><span id="status_'+ i +'"></span><br /> 
    </div> 
</form> 

<script type="text/javascript"> 
    function doIt() 
    { 
     var i = $('input').size() + 1; 

     $("input:last").focus(); 
     $("input:last").keypress (function (e) 
     { 
      if (e.which == 13) 
      { 
       e.preventDefault(); 

       $("#input_'+ i +'").change(function(){ 

       var barcode = $("input_'+ i +'").val 
       if(barcode.length > 0){ 
        $("#status_'+ i +'").html(''); 

        $.ajax({ 
         type: "POST", 
         url: "text.txt", 
         data: "barcode="+ username, 
         success: function(server_response){ 
          $("#status_'+ i +'").ajaxComplete(function(event, request){ 
           if(server_response == '0'){ 
            $("#status_'+ i +'").html('<font color="red">On bekdende Barcode. probeer het opnieuw.</font>'); 
           }else if(server_response == '1'){ 
            $("#status_'+ i +'").html(''); 

            $("#fields").append ('<div class="enter" id="input_'+ i +'"><input type="text" name="barcodes[]" class="target" /><a href="#" onclick="verwijder (\'' + i + '\')">Delete</a><span id="status"></span></div><div id="error"></div>'); 
            $("#nItems").html("Er zijn " + (i - 1) + " items gescant"); 
           } 
          }); 
         } 
        }); 
       } 
       doIt(); 
      }); 
     } 
    }); 

    doIt(); 

    function verwijder (i) 
    { 
     $("#input_" + i).remove(); 
    } 
</script> 

<span id="nItems">Er zijn nog geen items gescant</span> 

</body> 

</html> 

しかし、フィールドの入力が存在するかどうかを確認する必要があります。 そしてそれはexsistsでないかどうか言う必要があります。 私はたくさん試しましたが、何もまだ動作しません。

ヘルプは評価されます。

+0

あなたは「フィールドで入力」と正確に何を意味するのですか?入力に値があるかどうかを確認する必要がありますか? –

+0

フィールドに1をつけると、データベースに1があるかどうかをチェックする必要があります。など – ABTOMAT

+1

あなたの入力IDは_literally_ "input_ '+ i +'"ですか?そこに動的なIDを入れようとしているようですが、これはうまくいくものではありません。 –

答えて

0

はこれを試してみてください:

$.ajax({ 
    type: 'HEAD', 
    url: 'link to chek with db', 
    success: function() { 
     alert('Item found.'); 
    }, 
    error: function() { 
     alert('Item not found.'); 
    } 
}); 
関連する問題