我有一个名为add.jsp的文件,我用Java将数据添加到数据库中。
在这个文件中,我使用第一个下拉列表从数据库中获取联赛,该联赛的球队显示在所选联赛的第二和第三个下拉列表中。
表格开始如下。
由于onChange="this.form.submit();"位于第一个下拉列表部分,当进行选择时,表单提交并转到addemp servlet。
当我从第一个下拉列表中选择联赛时,如何防止表单提交?在选择所有数据并登录后,我如何才能在单击底部的提交按钮时将其转到addemp servlet?
我的代码如下身体标签之间...
截图在这里
没有onChange事件截图在这里
<div class="row justify-content-center">
<div class="col-sm-4">
<form class="form-group" action="addemp" method="post">
<label class="form-label" for="name">Choose a League </label> <select
name="leagues" id="leagues" class="form-control mb-3"
style="width: 200px;" onchange="this.form.submit();">
<option value="0">Select League</option>
<%
Connection conn;
Statement stm;
ResultSet rs;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/teams", "root", "Fener2013");
String query = "select * from leagues";
stm = conn.createStatement();
rs = stm.executeQuery(query);
while (rs.next()) {
%>
<option value="<%=rs.getInt("league_id")%>"
<%
if(request.getParameter("leagues")!= null)
{
if(rs.getInt("league_id")==Integer.parseInt(request.getParameter("leagues")))
{
out.print("selected");
}
}
%>><%=rs.getString("league_name")%></option>
<%
}
}
catch (Exception ex) {
ex.printStackTrace();
}
%>
</select> <label class="form-label" for="name">Home Team</label> <select
name="home_team" class="form-control mb-3" style="width: 200px;">
<option value="0">Select Home Team</option>
<%
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/teams", "root", "Fener2013");
String query = "select * from teams where league_id=?";
PreparedStatement psmt = con.prepareStatement(query);
psmt.setString(1, request.getParameter("leagues"));
ResultSet rset = psmt.executeQuery();
while(rset.next())
{
%>
<option value="<%=rset.getInt("team_id")%>">
<%=rset.getString("team_name")%></option>
<%
}
}
catch (Exception ex) {
ex.printStackTrace();
}
%>
</select> <label class="form-label" for="name">Away Team</label> <select
name="home_team" class="form-control mb-3" style="width: 200px;">
<option value="0">Select Away Team</option>
<%
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/teams", "root", "Fener2013");
String query = "select * from teams where league_id=?";
PreparedStatement psmt = con.prepareStatement(query);
psmt.setString(1, request.getParameter("leagues"));
ResultSet rset = psmt.executeQuery();
while(rset.next())
{
%>
<option value="<%=rset.getInt("team_id")%>">
<%=rset.getString("team_name")%></option>
<%
}
}
catch (Exception ex) {
ex.printStackTrace();
}
%>
</select> <label class="form-label" for="name">Enter Match Date
(YYYY-MM-DD)</label> <input name="match_date" type="text"
class="form-control mb-3" style="width: 200px"> <label
class="form-label" for="name">Home Score</label> <input
name="home_score" type="text" class="form-control mb-3"
style="width: 200px;"> <label class="form-label"
for="name">Away Score</label> <input name="away_score" type="text"
class="form-control mb-3" style="width: 200px;"> <label
class="form-label" for="name">Home Team HT Score</label> <input
name="home_ht_score" type="text" class="form-control mb-3"
style="width: 200px;"> <label class="form-label"
for="name">Away Team HT Score</label> <input name="away_ht_score"
type="text" class="form-control mb-3" style="width: 200px;">
<label class="form-label" for="name">Week</label> <input
name="week" type="text" class="form-control mb-3"
style="width: 200px;">
<div class="d-md-flex justify-content-md-end">
<button class="btn btn-primary mb-4" type="submit">Save
Match Result</button>
</div>
</form>
</div>
</div>
最好的问候,
首先,我想知道你为什么在选择上添加onChange?你想在onChange活动上做些什么吗?如果我考虑当前给定的信息,然后从选择中删除onChange。提交按钮已经很好去.它的类型是提交它应该工作。
如果它不起作用,让我知道更多的细节,我会试着解决你的问题。
从这里更新:
您需要创建一个javascript函数,并在更改first select时调用它。此函数将在当前url中重新加载当前页面的选定值。
funtion onLeagueChange(){
var leagueValue = document.getElementById("leagues").value;
window.location = your_url + "?leagues="+value;
}
这是解决您的问题而不使用和其他文件。
问题内容: 我正在JSP中创建一个页面,其中有一个下拉列表,一旦用户选择了一个值,他就必须单击go按钮,然后将该值发送到Servlet。 我该如何做才能在变更时做到呢?例如,当用户选择John时,将从数据库中检索出他的所有详细信息并显示出来。我希望系统无需单击“执行”按钮即可执行此操作。 问题答案: 只需询问JavaScript的帮助。
我一直在Luhn算法-JavaScript上使用这种背景颜色来帮助构建类似的网页。然而,与原始海报不同,如果在任何字段中有任何无效的输入,我希望代码不要提交。我仍然希望输入字段改变颜色(绿色表示有效,红色表示无效)。 我相信我可以使用混合模式修复名称和电子邮件(对于名称-“[a-Za-z!#$%” 任何帮助都将不胜感激,我为您可能需要的任何丢失的细节道歉,这是我在这里的第一个问题。
问题内容: 我是AngularJS的初学者,目前我正在Django中开发一个Web应用程序,在该应用程序中我可以使用AngularJS作为前端部分。我的问题是,用作用域中的对象填充的下拉列表始终以空白元素开头(如果我从列表中选择一个,该问题就不存在了)。这会产生问题,因为如果用户不选择任何内容,那么POST请求通常将不再起作用。我想知道如何拥有类似预选值或类似的东西。这是我的代码的一部分: 选择标
问题内容: 我需要使用JavaScript根据下拉菜单A中的选择更改下拉菜单B的内容。没有涉及到数据库查询- 我事先知道应该在A中选择B的内容。我已经找到了一些使用AJAX的示例,但是由于没有涉及到数据库查询,所以没有必要。谁能为我指出一些示例代码以实现此目的? 问题答案: function configureDropDownLists(ddl1, ddl2) {
问题内容: 我正在编写一些javascript(lubricmonkey /用户脚本),它将一些输入字段插入网站上的表单中。 问题是,我不希望这些输入字段以任何方式影响表单,我不希望它们在提交表单时提交,我只希望我的JavaScript可以访问它们的值。 有什么办法可以将一些输入字段添加到表单的中间,而在提交表单时不提交它们呢? 显然,理想的情况是输入字段不在form元素中,但是我希望结果页面的布
我正在使用netbeans和mysql用java制作一个web应用程序。数据库“Categroy”和“SubCat”中有两个表。还有实体类和会话bean来从数据库中提取数据。jsp表单中有两个下拉列表。我希望当在第一个下拉列表中选择一个类别时,它的类别id在servlet中消失,并且从那里开始,只有相关子类别的列表显示在第二个下拉列表中。我怎么能做到? 我的JSP代码如下 数据库中的所有类别都显示