私のエラーはPHP経由でフォームを送信したものではないのですが、返された内容にかかわらず、私の関数にぶつかっていないだけです。私はここで何が欠けているのか分からない。Javascript onsubmit = "" not working
function CheckLogin()
{
window.alert("made it here");
var login = document.forms["login"];
var user = login["username"].value;
var pass = login["password"].value;
if(user == null || user == "")
{
window.alert("user");
return false;
}
return false;
}
私はそれが私という愚かなものだと確信しています:これは、ユーザー名/パスワードが空の場合
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Login Page</title>
<script type="text/javascript" src="js/functions.js"></script>
<!--Internal for simplicity or until bigger page -->
<style type="text/css">
#login div{display:inline;color:red;}
input{margin-right:20px;}
</style>
</head>
<body>
<form name="login" id="login" action="<?php $_SERVER['PHP_SELF'] ?>" method="POST" onsubmit="return CheckLogin()">
<?php if($_POST && $win == false): ?>
<div>Login Unsuccessful. Please Try Again</div><br />
<?php endif ?>
<input type="text" size="10" name="username" /><div></div>
<br />
<input type="password" size="10" name="password" /><div></div>
<br />
<input type="submit" text="Submit" />
</form>
<a href="register.php">Registration Page</a>
</body>
</html>
は本当に私はちょうどチェックしていますが、それはとにかく右のこの機能を通過提出する私のフォームです私がこれを提出する前に、関数名を二重にチェックし、JavaScriptエラーが出ていないかどうかを確認しましたが、どちらも問題ではありませんでした。誰かが私のエラーを見ますか?
ユーザー名またはパスワードが空またはnullの場合、PHPを実行したり、フォームを送信したりしないことが重要です。
EDITフル機能のHTMLページからPHP機能を除いたものを追加しました。また何らかの理由で、私のjavascriptのリンクが代わりに 'リンク'しないことに注意してください。それは、inspect要素またはfirebug経由で埋め込まれているように、ヘッダの内容を直接見ることができます。これは問題の根源かもしれませんが、その理由は不明です。
EDIT doctypeを追加しましたが、まだ助けがありません。自動的に私のJavaScriptを私のページに埋め込み、実際にリンクするのではなく、CDATAに入れています。これはIE、Firefoxの& Chromeでこれを行います。
私のPHPには何か関係があると思われる人は、私はそれを投稿することができますが、サーバー側のコードとクライアントサイドのコード投稿されています。
ajrealが述べたように、問題はあなたの関数が決して "真"を返さないということです。 – paulsm4
私はローカルの.htmlファイルに全く同じコードをコピーしています。それは機能しています(関数と呼ばれ、送信を停止しました)。実際には、html出力の形式を破るいくつかのPHP varでなければなりません。サーバーのエコーを正確に投稿できますか? –
@ paulsm4私はフォームが "提出しない"ようにして、少なくとも私の機能に打撃を与えていることを知りました。 '@ JimJose'サーバは、ユーザ名をデータベースと照合するだけで、ユーザ名/パスワードが空欄でないことを確認します。いずれかが空で、上記のコードの "$ log == false"部分が有効になり、 "Login Unsuccessful"と表示された場合 –