亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 JavaScript 函數時遇到問題

使用 JavaScript 函數時遇到問題

PHP
隔江千里 2023-10-15 14:42:24
我正在獲取用戶輸入并將它們存儲在 XML 文件中。我正在讀取一個 XML 文件并將所有數據存儲在 JavaScript 數組中的標簽下。這樣,如果用戶兩次輸入相同的電子郵件地址,我可以讓他們知道該電子郵件已存在于 XML 文件中。這樣它就不會在 XML 文件中存儲相同的電子郵件兩次,因為用戶無法注冊。但由于某種原因,該功能無法正常工作。我真的需要一些幫助來解決這個問題。我的 XML 文件(storedata.xml):<?xml version="1.0" encoding="UTF-8"?><document><data><fname>Sammy</fname><lname>Kim</lname><email2>[email protected]</email2><pass2>123</pass2></data><data><fname>Jimmy</fname><lname>Jabs</lname><email2>[email protected]</email2><pass2>abc</pass2></data></document>我的PHP代碼:<?phpif(isset($_REQUEST['ok'])) {    $xml = new DOMDocument("1.0","UTF-8");    $xml->load("storedata.xml");        $rootTag = $xml->getElementsByTagName("document")->item(0);        $dataTag= $xml->createElement("data");        $name1= $xml->createElement("fname",$_REQUEST['fname']);    $name2= $xml->createElement("lname",$_REQUEST['lname']);    $emailadd= $xml->createElement("email2",$_REQUEST['email2']);    $pwd= $xml->createElement("pass2",$_REQUEST['pass2']);        $dataTag->appendChild($name1);    $dataTag->appendChild($name2);    $dataTag->appendChild($emailadd);    $dataTag->appendChild($pwd);        $rootTag->appendChild($dataTag);        $xml->save("storedata.xml");    }?>我的表單輸入:<input type="email" name="email1" placeholder="Email Adress" required="required" class="input-txt" style="width:40%;" id="email1"><input type="email" name="email2" placeholder="Confirm Email Adress" required="required" class="input-txt" style="width:40%;"id="email2"> 我的 JavaScript 代碼:<script>var first_email = document.getElementById("email1")  , second_email = document.getElementById("email2")  , password = document.getElementById("password")  , confirm_password = document.getElementById("confirm_password"); 
查看完整描述

1 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

你可以:

  • existingEmails檢索電子郵件后創建一個數組。

  • 然后在checkEmailExists函數中您將檢查電子郵件是否在數組中。

<script>


var first_email = document.getElementById("email1")

  , second_email = document.getElementById("email2")

  , password = document.getElementById("password")

  , confirm_password = document.getElementById("confirm_password");

 

//making an array of the email addresses from the XML file

var request = new XMLHttpRequest();


request.open("GET", "storedata.xml", false);

request.send();


var xml = request.responseXML;

var users = xml.getElementsByTagName("data");

const existingEmails = [];


for(var i = 0; i < users.length; i++) {

    const emailTag = users[i].getElementsByTagName("email2");

    const email = emailTag[0].childNodes[0].nodeValue;


    existingEmails.push(email);

}


//checking if the email already exists

function checkEmailExists() {

    if (existingEmails.includes(first_email.value)) {

        first_email.setCustomValidity("This email address already exists! Please use another one.");

    } else {

        first_email.setCustomValidity('');

    }

}


email1.onchange = checkEmailExists;


function validateMail() {

    if(first_email.value != second_email.value) {

        email2.setCustomValidity("Emails Don't Match");

    } else {

        email2.setCustomValidity('');

    }

}


email2.onkeyup = validateMail;


查看完整回答
反對 回復 2023-10-15
  • 1 回答
  • 0 關注
  • 110 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號