DB内のユーザーを確認するためにAjaxを使用してJSPでコードを開発しています(ユーザーが電子メールIDを提供する入力ボックスが1つあり、 ajaxを使用して)、ユーザーがDBに存在しない場合、ユーザーはフォームを送信できません。以下のコードでは、Ajaxが動作しています。 JSPのユーザチェックファイル(user_exist_function.jsp)からの返信に応じてtrue/falseを表示しますが、DBにユーザが存在しない場合は、投稿をやめるようにユーザに制御できません。助けてください。ユーザーがデータベースに存在しない場合は、フォームの送信を停止します
JS
var MyApp = {};
function check() {
xmlHttp = GetXmlHttpObject()
var url = "user_exist_function.jsp";
value = document.getElementById('email1').value;
url = url + "?username=" + value;
xmlHttp.onreadystatechange = stateChanged
xmlHttp.open("GET", url, true)
xmlHttp.send(null)
}
function stateChanged() {
if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
var showdata = xmlHttp.responseText;
document.getElementById("mydiv").innerHTML = showdata;
MyApp.status = showdata;
}
}
function GetXmlHttpObject() {
var xmlHttp = null;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
function check_submit() {
var var1 = MyApp.status.valueOf().toLocaleString();
if (var1 == 'true') {
return false;
} else {
return true;
}
}
HTML
<form name="form" onsubmit="return check_submit();">
Email Id: <input type="text" name="email" id="email1" onkeyup="check();">
<font color="red">
<div id="mydiv"></div>
</font>
<input type="submit">
</form>
user_exist_function.jsp
<%@page import="java.sql.*" %>
<%@include file="Database_connectivity.jsp" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
try{
String username = request.getParameter("username").toString();
PreparedStatement ps = conn.prepareStatement("SELECT * FROM V_USER_DATA WHERE " +
"EMAIL = ?");
ps.setString(1,username);
ResultSet res = ps.executeQuery();
if(res.next())
{
out.println("false");
}
else
{
out.println("true");
}
}catch (Exception e){
out.println(e);
}
%>
はここで基本的な機能、簡略化されます}
を:これは、与えられたのJavascriptのすべてを置き換える必要がありhttps://jsfiddle.net/khrismuc/1xdb3yzu/が正常に動作しますので、あなたの元のコードはところでました。私はフォームを送ることができませんでした。私は推薦する:a)jQueryを使用する、b)適切な字下げ、c)変数名と正確で正確な値 –