1

フォームの特定のフィールドが空白のままにならないようにしようとしています。簡単そうに見えますが、何らかの理由で機能していません。アラートが表示されず、falseを返すことが機能していません(データベースに空白のエントリを投稿し続けます)、何が間違っているのか助けてください。ありがとう!

スクリプト:

function check(){
var name = getElementById('name');
var date = getElementById('date');
var pri = getElementById('pri');
var asapc = getElementById('asapc');
var asapn = getElementById('asapn');
var obr = getElementById('obr');
var obc = getElementById('obc');
var obn = getElementById('obn');
  if (name.value == "" || date.value == "" || pri.value == "not" || asapc.value == "" ||  asapn.value == "" || obr.value == "" || obc.value == "" || obn.value == "") {
    alert( "One or more fields were not filled out." );
    return false ; }
    return true;
 }

コード:

<FORM ACTION="step2.php" METHOD="POST" onsubmit="check();">
<!-- fields here -->
<INPUT TYPE="submit" VALUE="CONTINUE">
4

3 に答える 3

5

document.getElementById...フォームタグとしてすべての要素にアクセスonsubmit="return check();"する場合は、代わりにこれを記述しますonsubmit="check();"

于 2012-08-17T16:52:31.463 に答える
2

ここに戻りがありません:

<FORM ACTION="step2.php" METHOD="POST" onsubmit="return check();">
于 2012-08-17T16:49:49.630 に答える
0

You are missing (document) これは正しい構文です:

document.getElementById('id');


<script>
function check() {
var name = document.getElementById('name');
var date = document.getElementById('date');
  if (name.value == "" || date.value == "") {
        alert( "One or more fields were not filled out.");
        return false; 
    }
}
</script>

getElementByID は、私の tagName ではなく ID を意味します

<FORM ACTION="step2.php" METHOD="POST" onsubmit="return check();">
  <input name="name" type="text" value="" id="name">
  <input name="date" type="text" value="" id="date">
   .....etc..
  <INPUT TYPE="submit" VALUE="CONTINUE">
</FORM>
于 2012-08-17T17:01:30.860 に答える