2017-12-31 230 views
0

私は私のプロジェクトで、次があります。私が間違っているのJavaScriptは:HTMLのpタグが空であるかどうかを確認

function check() { 
 
    var empt = document.getElementById('xyz1').value; 
 

 
    if (empt == "") { 
 
    alert("Please input a Value"); 
 
    return false; 
 
    } else { 
 
    return true; 
 
    } 
 
}
<a href="test.html" role="button" name="weiter" id="weiter" onclick="check();">Go</a> 
 
<p id="xyz1"></p>

何か。私はいつもtest.htmlのページに行きます。チェックは機能していません。 pタグが空であるかどうかを調べることも可能ですか?
pタグにアラートを得るためのものがない場合、リンクされたページに文字列または数字が入力されている場合は、test.html 純粋なJavaScript(jQueryなし)で作業したいと思います。

+0

'p'は、[値]プロパティを持っていません。 'textContent'または' innerText'を使用して要素にテキストが含まれているかどうかを確認し、子HTMLが含まれているかどうかを確認してから、「innerHTML」で十分です。 –

+1

innerHTML関数を使用する – madhur

+0

@madhur「innerHTML」は関数ではありません。 – Xufox

答えて

-1

\t \t function check() { 
 
\t \t \t event.preventDefault(); 
 
\t \t var empt = document.getElementById('xyz1').innerHTML; 
 
\t \t if (empt == null || empt == "") 
 
\t \t { 
 
\t \t  alert("Please input a Value"); 
 
\t \t  return false; 
 
\t \t } 
 
\t \t else 
 
\t \t { 
 
\t \t \t return true; 
 
\t \t } 
 
\t \t }
<a href="test.html" role="button" name="weiter" id="weiter" onclick="check();">Go</a> 
 
<p id="xyz1"></p>

機能は、イベントのデフォルトがそうでなければ、クリックイベントに後hrefの実行を防止する必要があります。

別の方法

onclick="return check()" 

\t \t function check() { 
 
\t \t var empt = document.getElementById('xyz1').innerHTML; 
 
\t \t if (empt == null || empt == "") 
 
\t \t { 
 
\t \t  alert("Please input a Value"); 
 
\t \t  return false; 
 
\t \t } 
 
\t \t else 
 
\t \t { 
 
\t \t \t return true; 
 
\t \t } 
 
\t \t }
<a href="test.html" role="button" name="weiter" id="weiter" onclick="return check();">Go</a> 
 
<p id="xyz1"></p>

+0

ありがとうございます、例外として動作します。 "event.preventDefault()"は私のために新規です... – peachmeier

+0

'event'が定義されていないので、' event.preventDefault() 'は動作しません。その代わりに、 'addEventListener'と' event'引数を持つイベントハンドラを使うと動作します。 – Xufox

+0

'event.preventDefault()'は 'onclick =" "はイベントであり、javacript がそれを認識しているため動作します。あなたはこれを試すことができます; 'console.log(event)' *出力:* [link](http://prntscr.com/hup24j)@Xufox –

1

値の代わりにinnerHTMLです。また、nullをチェックします。

function check() { 
 

 
    var empt = document.getElementById('xyz1').innerHTML; 
 
    if (empt == null || empt == "") 
 
    { 
 
    alert("Please input a Value"); 
 
    return false; 
 
    } 
 
    else 
 
    { 
 
    return true; 
 
    } 
 
    }
<a href="test.html" role="button" name="weiter" id="weiter" onclick="check();">Go</a> 
 
<p id="xyz1"></p>

+1

なぜ 'null'をテストする必要がありますか? – Andreas

+0

実際にヌルテストが必要なのかどうかわかりませんが、innerHTMLです – Ctznkane525

+0

ありがとうジョンは、タグが空であるかどうかを実際に確認するようです。問題は、私が私の警告を確認すると、私が必要としていないtest.htmlページに直接リンクされることです。 pタグが空でない場合、リンクはうまく動作するはずです。 return check(); – peachmeier

関連する問題