0
ユーザー入力を配列に保存してから、後でそれをサーブレットに渡そうとしています。私はさまざまなコードを検索して試しましたが、まだ運がありません。私は関数が間違っているかシンタックスであるかどうかは分かりませんが、私は思っていてもまだまだ固執しているすべてのものを使ってみました。文字列配列を保存してJSPからサーブレットに渡す
<body>
<div id="display"></div>
<div ng-controller="DemoCtrl" ng-cloak="" class="md-inline-form" ng-app="MyApp" layout="column" layout-sm="row" style="color: black" layout-align="center center" layout-align-sm="start start" layout-fill="">
<md-content class="md-whiteframe-10dp" flex-sm="">
<md-toolbar flex="" id="materialToolbar">
<div class="md-toolbar-tools">
<span flex=""></span>
<span class="md-headline" align="center">Registration Form</span>
<span flex=""></span>
</div>
</md-toolbar>
<div layout-padding="">
<div></div>
<%
%>
<form action="" >
<input type="hidden" name="action" />
<div layout="row" layout-sm="column">
<md-input-container flex-gt-sm="">
<label>LRN:</label>
<input name="a" id="lrn" required="" type="number" placeholder="Your LRN" style="width: 160px">
</md-input-container>
<md-input-container flex-gt-sm="">
<label>Student Number:</label>
<input name="a" id="snum" required="" type="number" placeholder="Your Student Number">
</md-input-container>
</div>
<div layout="row" layout-sm="column">
<md-input-container flex-gt-sm="">
<label>First Name</label>
<input name="a" id="fn" required="" type="text" placeholder="Your First Name">
</md-input-container>
<md-input-container flex-gt-sm="">
<label>Middle Name:</label>
<input name="a" id="mn" required="" type="text" placeholder="Your Middle Name">
</md-input-container>
<md-input-container flex-gt-sm="">
<label>Last Name:</label>
<input name="a" id="ln" required="" type="text" placeholder="Your Last Name">
</md-input-container>
</div>
<div layout="row" layout-sm="column">
<p style="font-size: 12px; margin-left: 3px; margin-top: 18px;">Gender: </p>
<input type="hidden" name="a" value="{{user.gender}}" />
<md-radio-group style="margin: 12px 0 19px;" ng-model="user.gender" required="">
<md-radio-button value="Male" class="md-primary">Male</md-radio-button>
<md-radio-button value="Female" ">Female</md-radio-button>
</md-radio-group>
</div>
<div layout="row" layout-sm="column">
<md-input-container flex-gt-sm="">
<label>Parent</label>
<input required="" type="text" id="p" name="a" placeholder="Your Parent" />
</md-input-container>
</div>
<div layout="row" layout-sm="column">
<!--<md-button class="md-raised md-primary" style="width:100%; margin: 5px 5px;" type="submit" >Submit</md-button><br><br>
<md-button class="md-raised md-primary" style="width:100%; margin: 5px 5px;" type="reset" >Reset</md-button><br> -->
<input type="submit" value="Save" onclick="insert();" />
<input type="submit" value="Submit" onclick="form.action='register';" />
</div>
</form>
</div>
</md-content>
</div>
</body>
は、ここで私は配列に保存押すと、入力を格納すると仮定します私の機能です。しかし、私は何も起こりません保存ボタンをクリックするたびに、何も...
var LRN = new Array();
var SNUM =new Array();
var FN =new Array();
var MN =new Array();
var LN =new Array();
var G =new Array();
var P =new Array();
var lrnInput = document.getElementById("lrn");
var snumInput = document.getElementById("snum");
var fnInput = document.getElementById("fn");
var mnInput = document.getElementById("mn");
var lnInput = document.getElementById("ln");
var gInput = document.getElementById("g");
var pInput = document.getElementById("p");
function insert () {
var lrnInput = document.getElementById("lrn").value();
var snumInput = document.getElementById("snum").value();
var fnInput = document.getElementById("fn".value());
var mnInput = document.getElementById("mn").value();
var lnInput = document.getElementById("ln").value();
var gInput = document.getElementById("g").value();
var pInput = document.getElementById("p").value();
LRN[LRN.length]=lrnInput
SNUM[SNUM.length]=snumInput
FN[FN.length]=fnInput
MN[MN.length]=mnInput
LN[LN.length]=lnInput
G[G.length]=gInput
P[P.length]=pInput;
}
を起こりません..私はちょうど呼び出しLRNのVARを試みたが、私はまだここ
を何をするか分からない、私のサーブレットのコードは次のとおりです。
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String[] lrn = request.getParameterValues("lrn");
List<String> list = Arrays.asList(lrn);
try {
out.println("<html>");
out.println("<head>");
out.println("<title>INFORMATION</title>");
out.println("<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css'>");
out.println("<link rel='stylesheet' href='css/style1.css'>");
out.println("</head>");
out.println("<body>");
out.println("<section>");
out.println("<h1>MALE</h1>");
out.println("<div class='tbl-header'>");
out.println("<table cellpadding='0' cellspacing='0' border='0'>");
out.println("<thead>");
out.println("<tr>");
out.println("<th>LRN</th>");
out.println("<th>Student Number</th>");
out.println("<th>First Name</th>");
out.println("<th>Middle Name</th>");
out.println("<th>Last Name</th>");
out.println("<th>Gender</th>");
out.println("<th>Parent</th>");
out.println("</tr>");
out.println("</thead>");
out.println("</table>");
out.println("<div class='tbl-content'>");
out.println("<table cellpadding='0' cellspacing='0'border='0'>");
out.println("<tbody>");
for (int i = 0; i<list.size(); i++) {
if (i>0 && i%7==0) {
out.println("</tr><tr>");
}
out.println("<td>" + list.get(i) + "</td>");
}
/*
out.println("<td>"+lrn+"</td>");
out.println("<td>"+snum+"</td>");
out.println("<td>"+fn+"</td>");
out.println("<td>"+mn+"</td>");
out.println("<td>"+ln+"</td>");
out.println("<td>"+gender+"</td>");
out.println("<td>"+parent+"</td>");*/
out.println("</tbody>");
out.println("</table>");
out.println("</div>");
out.println("</section>");
out.println("<section>");
out.println("<h1>FEMALE</h1>");
out.println("<div class='tbl-header'>");
out.println("<table cellpadding='0' cellspacing='0' border='0'>");
out.println("<thead>");
out.println("<tr>");
out.println("<th>LRN</th>");
out.println("<th>Student Number</th>");
out.println("<th>First Name</th>");
out.println("<th>Middle Name</th>");
out.println("<th>Last Name</th>");
out.println("<th>Parent</th>");
out.println("</tr>");
out.println("</thead>");
out.println("</table>");
out.println("<div class='tbl-content'>");
out.println("<table cellpadding='0' cellspacing='0'border='0'>");
out.println("<tbody>");
out.println("</tbody>");
out.println("</table>");
out.println("</div>");
out.println("</section>");
out.println("<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>");
out.println("<script src='js/index1.js'></script>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
htmlフォームの送信中にjavascript配列を送信することはできません。むしろ、カンマで区切られた文字列でinsert()関数を呼び出している間に、それらを隠しフィールドに格納し、そこでサーブレットで分割する必要があります。 –
@ GauravSrivastavどうすればいいですか? –
答えでコードを共有するだけです。 –