2017-08-24 9 views
0

私はjavascriptでフォームに自動入力しようとしています。今、私が抱えている問題は、これらが書き込まれた後に別のテキストボックスに焦点を当てるときです。私はそれらをクリアしてテキストボックスを空にします。誰かが私になぜこれをやっているのか、どうやってそれを渡すのか教えてもらえますか?フォームのJS自動入力、テキストボックスのフォーカスがクリアされますか?

JS:

window.setTimeout(function() { 
    document.getElementsByClassName("_ph6vk _623pz _o716c")[0].focus(); 
}, 1000); 

window.setTimeout(function() { 
    document.getElementsByClassName("_ph6vk _623pz _o716c")[0].value = "some value 0"; 
}, 2000); 

window.setTimeout(function() { 
    document.getElementsByClassName("_ph6vk _623pz _o716c")[1].focus(); 
}, 3000); 

window.setTimeout(function() { 
    document.getElementsByClassName("_ph6vk _623pz _o716c")[1].value = "some value 2"; 
}, 4000); 

HTML:それはあなたのコードのすべてを見ることなく伝えることは困難です

<form class="_asaim"> 
    <div class="_fhskl"> 
     <div class="_j5suk"></div> 
     <div class="_hxmdu"> 
      or 
     </div> 
     <div class="_j5suk"></div> 
    </div> 
    <div class="_agqzm"> 
     <div class="_sjplo _8ki4j"> 
      <input aria-describedby="" aria-label="Mobile Number or Email" aria-required="true" class="_ph6vk _623pz _o716c" name="emailOrPhone" placeholder="Mobile Number or Email" type="text" value="d"> 
      <div class="_gaby6"> 
       <span class="coreSpriteInputError _eyp7r"></span> 
      </div> 
     </div> 
    </div> 
    <div class="_agqzm"> 
     <div class="_sjplo _8ki4j"> 
      <input aria-describedby="" aria-label="Full Name" aria-required="false" class="_ph6vk _623pz _o716c" name="fullName" placeholder="Full Name" type="text" value="d"> 
      <div class="_gaby6"> 
       <span class="coreSpriteInputAccepted _eyp7r"></span> 
      </div> 
     </div> 
    </div> 
    <div class="_agqzm"> 
     <div class="_sjplo _8ki4j"> 
      <input aria-describedby="" aria-label="Username" aria-required="true" class="_ph6vk _623pz _o716c" maxlength="30" name="username" placeholder="Username" type="text" value="d"> 
      <div class="_gaby6"> 
       <span class="coreSpriteInputError _eyp7r"></span> 
      </div> 
     </div> 
    </div> 
    <div class="_agqzm"> 
     <div class="_sjplo _8ki4j"> 
      <input aria-describedby="" aria-label="Password" aria-required="true" class="_ph6vk _623pz _o716c" name="password" placeholder="Password" type="password" value="d"> 
      <div class="_gaby6"> 
       <span class="coreSpriteInputError _eyp7r"></span> 
      </div> 
     </div> 
    </div> 
    <div> 
     <span class="_9mno0 _ov9ai"><button class="_qv64e _gexxb _4tgw8 _njrw0"><span class="_9mno0 _ov9ai">Sign up</span></button></span> 
    </div> 
    <p class="_fd2m9"><!-- react-text: 144 -->By signing up, you agree to our <!-- /react-text --><a class="_nzfks" href="/legal/terms/" target="_blank">Terms</a><!-- react-text: 146 --> &amp; <!-- /react-text --><a class="_nzfks" href="/legal/privacy/" target="_blank">Privacy Policy</a><!-- react-text: 148 -->.<!-- /react-text --></p> 
</form> 

答えて

0

、しかし、あなたが投稿したコードは、単に特定の後に、あなたの入力に値を設定しています(あなたのsetTimeout関数で指定したミリ秒数)が経過しているので、これらのタイムアウト関数が呼び出されて入力を上書きするようなことが起こっていると思われます。私は入力ががクリアされている理由を推測していますはおそらく値です。 "some value 0"は実際には該当する入力の 'value'として存在しないので、指定された値が見つからないので入力がただちにクリアされますか?完全なコードを投稿しない限り、完全にはわかりません。

関連する問題