0

MySQL と PHP を使用してニュースレターの購読スクリプトを使用しています。ユーザーが電子メールを入力してボタンをクリックすると、電子メールがデータベースに追加されます。

問題は、電子メールを入力せずにボタンをクリックすると、データベースが空のレコードで更新されることです。空のフィールドの送信を停止し、ユーザーに電子メールの入力を強制するにはどうすればよいですか?

ここに私のHTMLがあります:

<form id="myForm" action="update.php" method="post">
    <input type="hidden" name="action" value="update" />
    <input type="text" name="email" id="email" value="Enter your email here" onfocus="if (this.value == 'Enter your email here') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Enter your email here';}" onwebkitspeechchange="this.value = this.value.replace('Enter your email here','')"; style=" color:#999; font-size:1em;width:200px; font-style:italic; font-family:"Times  New Roman", Times, serif;"/>
    <input class="button" type="image" src="rss.png" />
 </form>
4

5 に答える 5

2

ユーザー入力を取得してデータベースに挿入する前に、フォームの検証を行う必要があるように思えます。そのままでは危険です。

そこにある多くのプラグインの1つを使用してみませんか:

http://www.queness.com/post/10104/powerful-javascript-form-validation-plugins

于 2012-07-12T20:00:50.407 に答える
0

おおよそ、次のようなことをする必要があります..

var form = $('#mtForm');

$('input').change(function(){
   if($((this).val() == ''){
       form.unbind('submit').submit(function(){
           return false;
       });
   }
   else{
       form.unbind('submit');
   }
})
于 2012-07-12T20:05:54.157 に答える
0
  1. valueメール フィールドの属性を属性に変更する必要がありplaceholderます。、およびコードはonfocus、電子メール入力タグから削除できます。onwebkitspeechchangeonblur
  2. このようなものを使用して、空白のフィールドをチェックすることができます(以下は jQuery で書かれています)

    $(function(){
        $('#myForm').submit(function(e){
            if ($('#email').val().trim() == "") {
              // some sort of notification here
              e.preventDefault();
              return false;
            }
        });
    });
    

    </p>

于 2012-07-12T20:05:57.973 に答える
0

これは、jquery 検証プラグインの使用に関する便利なチュートリアルです: http://docs.jquery.com/Plugins/Validation

彼らの例のスタイリングは無視して、核となる側面に集中してください。あなたの場合、最も有用な行は次のとおりです。

<input id="cemail" name="email" size="25"  class="required email" />
于 2012-07-12T20:05:44.057 に答える