[英]JSP submit a textbox value
我想將我的文本框值(“ 20”)插入數據庫。 我該怎么做 ? 並且,如果用戶從未在文本框中輸入任何值,它將通知用戶。
我已經創建了一個js文件,但是它不起作用...
Assign.js
document.getElementById("assignBtn").onclick = function () {
var errmessage = "";
var na = document.forms["assignTo"]["Number"].value;
if (na == "") {
//if(document.getElementById("ExerciseArm").value=="") {
errmessage += "*Please enter the number of time for arm<br>";
}
var nl = document.forms["assignTo"]["Number"].value;
if (nl == "") {
//if(document.getElementById("ExerciseTime1").value=="") {
errmessage += "*Please enter the number of time for leg <br>";
}
if (na != "" && nl == "") {
document.assignTo.submit();
alert('Exercise has been assigned succesfully.');
} else if (na == "" && nl != "") {
document.assignTo.submit();
alert('Exercise has been assigned succesfully.');
} else if (na != "" && nl != "") {
document.assignTo.submit();
alert('Exercise has been assigned succesfully.');
} else if (errmessage.length > 0) {
errmessage = errmessage.fontcolor("red");
errmessage = errmessage.fontsize("2");
document.getElementById("divMessage").innerHTML = errmessage;
}
}
AssignTo.jsp
String[] id = request.getParameterValues("assignchkbox");
String armID = request.getParameter("ArmID");
String number = request.getParameter("Number");
int count = 0;
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
// Step 2: Define Connection URL
String connURL = "jdbc:mysql://localhost/medicloud?user=root&password=root";
// Step 3: Establish connection to URL
conn = DriverManager.getConnection(connURL);
if (id != null) {
for (int i = 0; i < id.length; i++) {
String sqlStr = "Insert into assign(ArmID,Number) Value(?,?)";
PreparedStatement pstmt = conn.prepareStatement(sqlStr);
pstmt.setInt(1, Integer.parseInt(id[i]));
pstmt.setString(2, number);
//pstmt.setInt(1, Integer.parseInt(ids[i]));
int rec = pstmt.executeUpdate();
if (rec == 1) {
count++;
response.sendRedirect("assign.jsp");
}
}
}
}
忽略所有jsp文件夾中的id(它們按照我想要的方式工作)。 現在唯一的問題是文本框值未插入數據庫,Idk錯誤在哪里?
嘗試是否您的jsp文件從表單接受了所需的值:
String username = "<your username>";
String pass = "<your pass>";
Class.forName("com.mysql.jdbc.Driver");
String connURL = "jdbc:mysql://localhost:<port>/medicloud";
conn = DriverManager.getConnection(connURL,username,pass);
而不是您的代碼。 在某些情況下,您必須將mysqljdbc.jar導入WEB-INF / lib,我不完全記得該路徑,請在您的項目中檢查它。
不要忘記證明您的數據庫實例端口,在mysql中應該是3306。
而且您的代碼根本不是干凈的,您應該捕獲異常以檢索更多調試所需的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.