-1

わかりましたので、私はいくつかの小さな HTML と PHP に取り組んできました。テキスト ボックスが空のままで送信ボタンをクリックした後に、特定のイベントが実際に発生するようにしたいと考えています。私はたくさんのJavaScriptコードを探しましたが、それらはすべて機能しませんでした(または、おそらくそれらを処理して機能させるのに十分な作業をしていませんでした)。JavaScriptが唯一の解決策であるかどうかさえわかりません。私はJavaScriptがあまり得意ではないので、これに対処する他の方法があるかどうかはわかりません。ユーザーがテキストボックスを空のままにしておくと、送信ボタンをクリックした後にユーザーに警告が表示され、ボタンがフォームからアクションを送信して入力するのを防ぎ、ユーザーがphpコードに入る前に入力できるようにする必要があります。この2つは実際には一緒に行くことはできないと読んだことがありますが、

4

1 に答える 1

0

Javascript がこれに役立つ可能性があります。おそらく、HTML 部分には次のようなものが必要です。

<form onSubmit="return validate(this);" ...>
     <input type="text" id="usefulId"></input>
     <input type="submit"/>
</form>

JavaScriptの場合、すべてはあなたが正確に達成したいものに依存しますが、私は次のようなものを使用します:

function validate(theForm)
{
    var valid = true
    var textbox = document.getElementById("usefulId");

    if (textbox.value) {
         textbox.setAttribute("class", "valid");
    } else {
         textbox.setAttribute("class", "invalid");
         valid = false;
    }
    return valid;
}

次に、css を追加してテキストボックスを赤くするなど、ユーザーに通知する必要があります。もちろん、実際の検証を、呼び出されている別の関数に移動して、再利用できるようにすることをお勧めします。なぜそれが間違っているのかについて何らかの情報を提供したい場合は、もちろん、ラベルを埋めるコードを書くことができます...

HTML5 には、あなたを助けることができるものもあります:

<form onSubmit="return validate(this);" ...>
     <input type="text" id="usefulId" required="required"></input>
     <input type="submit"/>
</form>

ただし、これは html5 ( http://caniuse.com/#feat=form-validation ) をサポートするブラウザーでのみ機能するため、適切なページと他のいくつかのブラウザー (バージョン) が見つかった場合、IE6-9 はサポートされません。これは、問題を解決するためにそれに頼ることができないことを意味しますが、ブラウザーによって生成されるいくつかの素晴らしい効果を提供します.

于 2013-08-03T14:34:11.403 に答える