以编程方式按下按钮以在Javascript中的另一页面上提交表单

时间:2017-02-17 20:25:36

标签: javascript php html

请原谅基本问题,我对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请求而不对按钮做任何事情),我就非常乐意接受这一点。

提前感谢您的时间和智慧。

2 个答案:

答案 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中运行。