android通过webview发布表单数据

o3imoua4  于 2021-06-27  发布在  Java
关注(0)|答案(1)|浏览(691)

我的html代码中有以下实现。

<!doctype html>
<html ng-app="app">
<head>
<title>post data</title>
</head>
<body>
<div>  
<form action="https://mypaymentgateway/pay" method="post">

<input type="hidden" id="profile_id" name="profile_id" value="123" />
<input type="hidden" id="transaction_id" name="transaction_id" value="abcd" />
<input type="hidden" id="locale" name="locale" value="en" />
<input type="submit" id="btnsubmit" value="Confirm" /> 

</form>
</div>

</body>
</html>

我要做的是通过调用我的支付url的post方法(“https://mypaymentgateway/pay)而无需点击“确认”按钮。我在这里,这里和其他来源也尝试过解决办法。但似乎一切都不正常。请帮我解决这个问题。

njthzxwz

njthzxwz1#

尝试调用 form.submit() 如果您想在不按按钮的情况下发布表单,请自行完成
根据您的需要,有两种方法可以做到这一点:通过html文件本身上的javascript,或者通过启用webview组件的java文件。
通过html文件中的javascript:

<form id="myForm" action="https://mypaymentgateway/pay" method="POST"> ... </form>
<script>
function submitMyForm() {
    var myForm = document.querySelector("#myForm");
    myForm.submit();
}
</script>

你只要打个电话 submitMyForm() 在javascript中的任何需要的地方。
通过java文件(在html文件的javascript全局范围内定义上一个函数):

//First enable your JavaScript
webView.getSettings().setJavaScriptEnabled(true);

//And then with a loadURL you can trick the WebView into executing Javascript
webView.loadUrl("javascript:submitMyForm");

归功于:android在webview中调用javascript函数

相关问题