2017-05-22 5 views
0

このコードは動作しますが、コピーして貼り付けても送信されません。自動提出文字がフォームの特定の番号に達したときに機能しません

<script src="jquery-3.2.1.min.js"></script> 

<form id="Form" action="pro_add_invoice.cfm" method="post"> 
    <input id="here"name="htno" type="text" value="" />&nbsp; 
    <input id="subHere" type="submit" value="Submit" /> 
</form> 

<script> 
    $('#here').keyup(function(){ 
     if(this.value.length ==10){ 
      $('#Form').submit(); 
     } 
    }); 
</script> 
+0

にあなたが後をクリックしますか、ユーザーが10桁/文字を入力したこと? – quirimmo

+0

@quirimmoフォームを送信したい、つまり処理ページに移動するだけです。 – Wicfasho

+0

いつですか?あなたが10文字の文字列を持っている場合、入力# $( '#subHere')を変更してください。$( '#Form')にsubmit(); 'を押してください。テキストフィールドに10文字の単語を入力すると、送信が行われますか?この "abcabcabca"と入力してください。 – quirimmo

答えて

0

10文字を入力した後にフォームを送信したいと仮定しています。代わりに$().submit()を使用して、フォームのIDを渡すことができます。

<form id="Form" action="sell.cfm" method="post"> 
    <input id="here"name="htno" type="text" value="" />&nbsp; 
    <input id="subHere" type="submit" value="Submit" /> 
</form> 

<script> 
    //$('#here').keyup(function(){ 
    // if(this.value.length ==10){ 
    //  $('#Form').submit(); 
    // } 
    //}); 

    var input = document.querySelector('#here'); 
    input.addEventListener('keyup', checkLength); 
    function checkLength(e){ 
     if(e.target.value.length===10){ 
      document.forms["Form"].submit(); 
     } 
    } 

</script> 
+0

それは動作していません – Wicfasho

+0

それは私のブラウザで正常に動作しました。 jQueryをプリロードする必要があることに注意してください。 – wlh

+0

ありがとうございます。最後の声明は役に立ちました。私はjqueryファイルを読み込んでいませんでした。 – Wicfasho

0

フォームを送信する場合は、クリックイベントハンドラを使用できません。これはクリックイベントの場合のみです。フォームを送信するには、フォーム要素のsubmitメソッドを呼び出す必要があります。

バニラJS:

document.forms.Form.submit(); 

または はJQuery:文は次のことを実行する場合は

はあなたを変更

$('#Form').submit(); 

SO ...

<script> 
    $('#here').keyup(function(){ 
    if(this.value.length ==10){ 
     $('#Form').submit(); 
    } 
}); 
</script> 
+0

まだ動作していません – Wicfasho

-1

I薄いですここでの問題はthisコンテキストは#hereに属しておらず、匿名関数のスコープ(おそらく)はwindowに属しています。

変更してみてください、私はまだそれを試していないが、おそらくこれは、問題を解決this('#here')

+0

試しましたか? 'this'が範囲外であることを確認しますか? – wlh

+0

あなたが構成するならば、ここでは[jsfidle](https://jsfiddle.net/8up4v32k/)です。注:jsfidleのテストではjqueryを使用していませんでしたが、 'this'コンテキストが'#ここに属していないことを証明しています。 – billyzaelani

関連する問題