2011-12-04 36 views
1

私のエラーは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には何か関係があると思われる人は、私はそれを投稿することができますが、サーバー側のコードとクライアントサイドのコード投稿されています。

+0

ajrealが述べたように、問題はあなたの関数が決して "真"を返さないということです。 – paulsm4

+0

私はローカルの.htmlファイルに全く同じコードをコピーしています。それは機能しています(関数と呼ばれ、送信を停止しました)。実際には、html出力の形式を破るいくつかのPHP varでなければなりません。サーバーのエコーを正確に投稿できますか? –

+0

@ paulsm4私はフォームが "提出しない"ようにして、少なくとも私の機能に打撃を与えていることを知りました。 '@ JimJose'サーバは、ユーザ名をデータベースと照合するだけで、ユーザ名/パスワードが空欄でないことを確認します。いずれかが空で、上記のコードの "$ log == false"部分が有効になり、 "Login Unsuccessful"と表示された場合 –

答えて

2

コードにマイナーなエラーがあります。まず最初に、入力用の「テキスト」という属性はありません。私はあなたがそれを逃したと信じています。 Check hereを入力すると、入力に必要な属性が表示されます。第二に、このjsfiddleの例はChromeとFFで適切に動作します。私はUbuntuを使っているのでIEでテストできません。

フォームの属性を修正した後、jsfiddleの例が動作し始めました。私はそれがそれに関連しているかどうかは分かりませんが、明らかに、あなたのコードが機能していないという私には唯一の論理的な説明であるようです。

+0

Lawl ...うわー...あなたは絶対に正しいです。テキストを値に変更すると、それは機能し始めました。私はxDを知っていません!ありがとうございました! –

+0

あなたは大歓迎です:) –

1

コードは正しく動作します。別のWebブラウザで実行してみてください。ブラウザにインストールした拡張機能の1つでJSエラーが発生している可能性があります(Google Dictionary for Chromeが問題を引き起こしていました)。

+0

私は、クロムよりもFirefoxで試しても、まだ動作しません。このスクリプトは私が以前に見たことがない何かをやっています。外部ファイルを参照する代わりに、それをヘッダーに「埋め込む」。要素や火薬塊を調べてヘッダを開くと、javascriptタグを開いて、リンクをクリックする代わりにその内部を見ることができます。それは私の問題の根源かもしれませんが、なぜそれがそれをしているのか理解できません。私はそれがブラウザのアップデートだと思った。 –

+0

@ Howdy_McGee FirebugとChromeの両方のインスペクタを使って、かなり普通だ。私は '

  • 11. simple requestAnimationFrame not working JavaScript
  • 12. Javascript setInterval time not working
  • 13. javascript display none not working
  • 14. javascript FileReader multiple not working
  • 15. Not working JavaScript function delete
  • 16. Javascript onchange select not working
  • 17. Javascript substring、slice not working
  • 18. Javascript、ReactJs setState not working
  • 19. chrome.history.deleteUrl not working
  • 20. javascript removechild and remove not working
  • 21. Javascript classList add hidden not working
  • 22. CefSharp ChromiumWebBrowser javascript excel export not working
  • 23. Jquery、Javascript fadeIn、fadeOut not working
  • 24. :not not working
  • 25. Redux-form not working
  • 26. jsTree not working
  • 27. document.getElementByID()。submit()not working
  • 28. JS FB:Wall not working
  • 29. Not Working .innerHTML
  • 30. click not working