1

ユーザーがメンバー限定のコンテンツにアクセスできるようにするログインフォームをワードプレス Web サイトに作成しました。と の 3 つの機能がlogin() resetPassword()ありregister()ます。

login()とフォームの両方が完全に機能しresetPassword()、3 番目の関数を追加するregister()と、どのフォームもまったく送信されなくなりました。

関数を削除するとregister()、他のフォームが再び機能し始めます。また、他の関数を独自の<script>タグに配置すると、期待どおりに機能しますが、register()関数はまだ正しく機能しません。

コードを何度も見直し、別の場所に配置しようとしました...何が問題を引き起こしているのかわかりません。誰かがこれを以前に経験したことがありますか?どうすれば修正できますか?

<script type="text/javascript">
function login()
{
    var email = document.getElementById("LoginUName").value;
    var pword = document.getElementById("LoginPWord").value;
    var xmlhttp;
    if (window.XMLHttpRequest)xmlhttp=new XMLHttpRequest(); 
    else xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
    xmlhttp.onreadystatechange=function(){document.getElementById('LoginScreen').innerHTML=xmlhttp.responseText;}
    xmlhttp.open('GET','login.php?EMail='+email+'&PWord='+pword,true);
    xmlhttp.send();
}
function resetPassword()
{
    var email = document.getElementById("ResetEMail").value;
    var xmlhttp;
    if (window.XMLHttpRequest)xmlhttp=new XMLHttpRequest(); 
    else xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
    xmlhttp.onreadystatechange=function(){document.getElementById('LoginScreen').innerHTML=xmlhttp.responseText;}
    xmlhttp.open('GET','passwordReset.php?EMail='+email,true);
    xmlhttp.send();
}
function register()
{
    var firstname = document.getElementById("RegisterFirstName").value;
    var lastname = document.getElementById("RegisterLastName").value;
    var email = document.getElementById("RegisterEMail").value;
    var pword = document.getElementById("RegisterPWord").value;
    var xmlhttp;
    if (window.XMLHttpRequest)xmlhttp=new XMLHttpRequest(); 
    else xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');
    xmlhttp.onreadystatechange=function(){document.getElementById('LoginScreen').innerHTML=xmlhttp.responseText;}
    xmlhttp.open('GET','register.php?FirstName='+firstname+'&LastName='+lastname+'&EMail='+email'&PWord='+pword,true);
    xmlhttp.send();
}
</script>


<div id="LoginScreen">
<h1>Welcome to ****.</h1><br>
<h2>Please login or register below:</h2><br>
<form action="javascript: login()" method="get">
    <ul>
        <li>
            <h3>Username:&nbsp;</h3><input type="email" id="LoginUName" name="LoginUName" placeholder="Email address" />
        </li>
        <li>
            <h3>Password:&nbsp;</h3><input type="password" id="LoginPWord" name="LoginPWord" placeholder="Password"/>
        </li>
    </ul>
    <input type="submit" value="Login"/>
</form>
<br><hr><br>
<form action="javascript: resetPassword()" method="get">
    <h2>Forgot your password?</h2><br>
    Email address:&nbsp;<input type="email" id="ResetEMail" name="ResetEMail" placeholder="Email address" />&nbsp;&nbsp;<input type="submit" value="Reset" />
</form>
<br><hr><br>
<form action="javascript: register()" method="get">
    <h2>Register new user:</h2><br>
    <ul>
        <li>
            <h3>First Name:&nbsp;</h3><input type="text" id="RegisterFirstName" name="RegisterFirstName" placeholder="First Name" />
        </li>
        <li>
            <h3>Last Name:&nbsp;</h3><input type="text" id="RegisterLastName" name="RegisterLastName" placeholder="Last Name" />
        </li>
        <li>
            <h3>Email:&nbsp;</h3><input type="email" id="RegisterEMail" name="RegisterEMail" placeholder="email address" />
        </li>
        <li>
            <h3>Password:&nbsp;</h3><input type="password" id="RegisterPWord" name="RegisterPWord" placeholder="Password" />
        </li>
    </ul>
    <input type="submit" value="Register"/>
</form>

4

1 に答える 1

2

単なる構文エラーです。+あなたはサインを逃しました。

あなたが持っている:

    xmlhttp.open('GET','register.php?FirstName='+firstname+'&LastName='+lastname+'&EMail='+email'&PWord='+pword,true);

+の後に記号が必要emailです:

xmlhttp.open('GET','register.php?FirstName='+firstname+'&LastName='+lastname+'&EMail='+email+'&PWord='+pword,true);

そのため、2 つの別々のスクリプトに入れると機能します。構文エラーが 1 つあると、スクリプト全体が無効になります。

于 2013-01-07T23:02:19.883 に答える