<html>
<form method="get" action="/00ON0000000FOHS" >
<b>Enter Text</b><input type="text" id="pv2" name="pv2"/>
<input type="submit" value="Report Generation" class="submit"/>
</form>
</html>
我想让操作页面加载到输入框所在的同一页面上
就像上面一半的页面是用户输入一样。下面一半的页面将根据用户输入加载。
答案 0 :(得分:1)
使用jQuery非常简单和优雅。
<html>
<head>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$("form").submit(function(e) {
var form = $(this);
e.preventDefault();
$("#results").load(form.attr("action"), form.serialize());
});
</script>
</head>
<body>
<form method="get" action="/00ON0000000FOHS" >
<b>Enter Text</b><input type="text" id="pv2" name="pv2"/>
<input type="submit" value="Report Generation" class="submit"/>
</form>
<div id="results"></div>
</body>
</html>
注意:
action
属性中的网址。这样做的两个好处是:URL仅在一个地方定义,而您的交互功能在禁用JavaScript时起作用。对于这种情况,这是一种古老且值得信赖的技术,但如果您可以假设某些有关浏览器的内容,则可以使用其他方法。<div id="results"></div>
扮演了您正在考虑使用IFRAME的角色。这是今天执行部分页面更新的常用方法。<form action=
来保持简单。在请求不是AJAX时在服务器上检测,然后将响应包装在页面模板中也很常见。#results
容器具有position: relative;
属性,导致子项包含在其中,尽管它不会阻止具有偏移的对象将其置于父容器之外。如果这对你来说是个问题,你可能想问一个关于CSS的单独问题。答案 1 :(得分:0)
尝试ajax。 请参阅链接:http://api.jquery.com/jQuery.ajax/
在网址中:你可以设置一个php或任何其他服务器端页面来调用。
在该服务器端页面编写您的php代码并回显结果,它将返回您调用ajax的页面上的值。
$.ajax({
url: "server side page link",
})
.done(function( data ) {
$('div#id').html(data);<==== it will show you data what has been echoed on the server side page
});