我有两个HTML页面:form.html和display.html。 在form.html,还有一种形式:
<form action="display.html">
<input type="text" name="serialNumber" />
<input type="submit" value="Submit" />
</form>
形式的数据被发送到display.html。 我想显示和使用表格数据serialNumber
在display.html,如下所示:
<body>
<div id="write">
<p>The serial number is: </p>
</div>
<script>
function show() {
document.getElementById("write").innerHTML = serialNumber;
}
</script>
</body>
那么,如何可以通过serialNumber
变量从form.html到display.html使得display.html上面的代码会显示序列号和JavaScript函数显示()获取serialNumber
从第一HTML?
如果你没有选择,使用服务器端编程,比如PHP,你可以使用查询字符串,或GET参数。
在形式上,添加method="GET"
属性:
<form action="display.html" method="GET">
<input type="text" name="serialNumber" />
<input type="submit" value="Submit" />
</form>
当他们提交这种形式中,用户将被引导到其中包括的地址serialNumber
值作为参数。 就像是:
http://www.example.com/display.html?serialNumber=XYZ
然后,您应该能够解析查询字符串-其中将包含serialNumber
参数值-从JavaScript,使用window.location.search
值:
// from display.html
document.getElementById("write").innerHTML = window.location.search; // you will have to parse
// the query string to extract the
// parameter you need
又见JavaScript的查询字符串 。
另一种方法是将值存储在cookie中,当形式是,一旦再次提交,并读出来的饼干display.html
页面加载。
又见如何使用JavaScript来填补另一个页面上的表单 。
你需要得到查询字符串值(因为你没有一个方法集,您使用GET默认情况下)
使用下面的教程。
http://papermashup.com/read-url-get-variables-withjavascript/
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
使用“get”方法通过浏览器来发送特定字段的值:
<form action="display.html" method="GET">
<input type="text" name="serialNumber" />
<input type="submit" value="Submit" />
</form>
<form action="display.html" method="post"> <input type="text" name="serialNumber" /> <input type="submit" value="Submit" /> </form>
在display.html你应该添加以下代码。
<script>
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, '\\$&');
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, ' '));
}
var sn = getParameterByName('serialNumber');
document.getElementById("write").innerHTML = sn;
</script>
如果你的情况是这样描述的; 你必须从一个单一的形式发送动作不同的小服务程序,你有两个提交按钮,你要发送的每个提交按钮不同的页面,那么你的最简单的答案就在这里。
用于发送数据两个servelets使一个按钮作为提交和其他作为button.On第一个按钮在你的表单标签为正常送行动,但另一方面按钮这里调用JavaScript函数,你必须提交与同一领域的形式,但不同servelets然后写后第一close.declare同一文本框有,但隐藏attribute.now当你插入第一个表单数据的另一种形式的标签,然后将其插入另一个隐藏的形式与第二个按钮,提交一些JavaScript code.Write一个功能第二形式。 然后,当你点击提交按钮会在第一种形式执行的操作,如果你点击按钮,它会调用函数提交第二形式的行动。 现在你的第二个表格将被要求第二个servlet。
在这里,你可以调用从相同的HTML或JSP网页在两次serveltes用JavaScript的一些混合代码
的第二隐藏的表单的示例
<form class="form-horizontal" method="post" action="IPDBILLING" id="MyForm" role="form"> <input type="hidden" class="form-control" name="admno" id="ipdId" value=""> </form> <script type="text/javascript"> function Print() { document.getElementById("MyForm").submit(); } </script>
*first html page*
<form action="display.jsp" >
<input type="text" name="serialNumber" />
<input type="submit" value="Submit" />
</form>
*Second html page*
<body>
<p>The serial number is:<%=request.getParameter("serialNumber") %></p>
</body>
you will get the value of the textbox on another page.