2017-05-03 8 views
0

チャットに問題があります。 実際、必要な値のテキスト入力があります。 送信をクリックすると、送信を停止する代わりに空を返します。 私を助けてもらえますか?JavaScriptで必要なテキストボックスを適用する方法

<script> 
    $("#submitmsg").click(function() { 
     var clientmsg = $("#usermsg").val(); 
     $.post("chat-post.php", { 
      text: clientmsg 
     }); 

$("#usermsg").attr('required', true); 

     loadLog; 
     return false; 
    }); 
</script> 
+0

非常に最初のステップはエラーコンソールを見てエラーがないかどうかを調べることです。 'loadLog'とは何ですか? –

答えて

0

は、あなたのhtmlコード

<input type='text' required="true"> 

required=trueを追加し、彼らは文字列

から不要なスペースを削除します trim()で使用.Betterこの if(clientmsg.trim())ような入力文字列を検証することができ
<script> 
    $("#submitmsg").click(function() { 
     var clientmsg = $("#usermsg").val(); 
     if(clientmsg.trim()){ 
     $.post("chat-post.php", { 
      text: clientmsg 
     }); 
     loadLog; 
     } 
     return false; 
    }); 
</script> 
0

基本的には、そのメッセージ入力の値が空であれば、投稿要求を送信する前に条件を追加する必要があります。下記をご確認ください:

<script> 
     $("#submitmsg").click(function() { 
      var clientmsg = $("#usermsg").val(); 

// This is the additional condition 
      if(clientmsg != '' || clientmsg != null){ 

       $.post("chat-post.php", { 
        text: clientmsg 
       }); 
      } 
      else{ 
       alert('Please enter the message!'); 
      } 

    $("#usermsg").attr('required', true); 

      loadLog; 
      return false; 
     }); 
    </script> 
+2

このコードスニペットは問題を解決するかもしれませんが、[説明を含む](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)は本当にあなたの投稿の質を向上させるのに役立ちます。将来読者の質問に答えていることを覚えておいてください。そうした人々はあなたのコード提案の理由を知らないかもしれません。 –

+0

ありがとうパトリック、私はそこにexplainationを追加しました。 :) –

0

必須属性を機能させるには、入力をフォーム内に入れる必要があります。

<form> 
    <input required type="text" /> 
</form> 

ボタンをクリックするたびに必要な属性を設定する必要はありません。あなたは一度だけそれを行う必要があります、なぜ単純にHTMLに必要な属性を追加しないでください?

HTMLに追加したくない場合でも、一度だけ追加してください。

<script> 
    $("#usermsg").attr('required', true); // Add the attribute required to the input 

    // Do the AJAX function after you submit the form. 
    // Before submitting, it will have to be validated, so you don't even have to validate it in JS. Just native HTML5 
     $("form").submit(function() { 
     // do the rest here 
     } 
    </script> 
関連する問題