请原谅基本问题,我对Javascript和Web开发一般都很陌生。我想在我的网站的一个页面上使用脚本来编程,按下按钮在网站的另一部分上提交表单,发出POST
请求。我必须访问的html
如下:
HTML
<form action="thing.jsp" method="post"> // Beginning of form
...
<input type="submit" id="submit" value="Do something"> // Button code
...
</form>
我认为Javascript
应该是这样的:
JS
<script>
var xhr = new XMLHttpRequest();
xhr.open('POST', "/stuff.jsp", true);
var params = "???????"; // What do I need to put here?
xhr.send(params);
</script>
通过在线阅读,我怀疑我可能只需要为params
获得正确的价值?虽然如果有另一种方法可以实现相同的结果(例如,只需发送POST
请求而不对按钮做任何事情),我就非常乐意接受这一点。
提前感谢您的时间和智慧。
答案 0 :(得分:1)
您不需要使用ajax,只需使用:
<input type="button" value="GO" id="buttonId" />
<script>
function go() {
document.location.href = 'http://google.com';
}
document.getElementById('buttonId').onclick = go;
</script>
请注意按钮类型应为“按钮”,而不是“提交”
答案 1 :(得分:0)
使用jQuery - 一个JS库 - 您只需发送HTTP GET Request即可。然后可以使用$_GET['key']
在PHP中获取它,它将保留值。
$(function() {
$('#unique-id-btn').click(function() {
$.get('file.php', { key: $('unique-id-input').val() }).done(function(response) {
alert(response);
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="unique-id-input" placeholder="enter something...">
<button type="button" id="unique-id-btn">Click me</button>
注意,您需要创建 file.php 。在内部,它将控制发送的数据发生的情况,即:
$data = $_GET['key'];
echo $data == "foo" ? "bar" : "tell me foo!";
另请注意,您只能在 .php 文件扩展名中运行PHP,而不能在JSP中运行。