【发布时间】:2017-12-06 20:50:38
【问题描述】:
在测试具有POSTs 到httpbin Request & Response Service 的 HTML 表单的 Excel Web 加载项时,不会发送该表单。
我正在使用 Excel 2016 for Mac 版本是 15.39 (171010),在 High Sierra 版本 10.13.1 上运行。我在 iPad 版的 Excel 中看到了同样的问题。
在对表单使用POST 方法时,Excel 加载项是否与 Excel 2016 for Mac 和 iPad 不兼容?
有一个对站点的调用,页面在浏览器中打开。但是,没有POST。这是我们在httpbin.org 页面上看到的内容——注意GET 方法,没有看到任何参数及其值:
{
"Host": "httpbin.org",
"Upgrade-Insecure-Requests": "1",
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"
"method": "GET",
"origin": "<ip-address-here>",
"url": "https://httpbin.org/anything"
}
使用这个:
<script type="text/javascript">
$("#testForm").submit();
</script>
<form method="POST" id="testForm" action="https://httpbin.org/anything" accept-charset="UTF-8" target="_blank">
<input type='hidden' name='mergeDataFormat' value='csv'>
<input type="hidden" name="mergeData" id="mergeData" value='Name,Street,"City, State",ZIP Code'>
<input type="submit" value="Send" id="submitForm" />
</form>
请参阅此帖子了解更多详细信息: Why doesn’t the form not POST in Excel 2016 for Mac?
AppDomain 设置如下:
<AppDomains>
<AppDomain>https://httpbin.org/</AppDomain>
</AppDomains>
尝试使用onsubmit 处理程序,如下所示,但我没有看到任何变化。
<form method="POST" id="testForm" onsubmit="datasubmit()" action="https://httpbin.org/anything" accept-charset="UTF-8" target="_blank"></form>
<script type="text/javascript">
function datasubmit() {
console.log("Your details have submitted..........");
}
</script>
在 Excel 2016 for Mac 之外的浏览器中进行测试时,相同的代码可以正常工作。在 Excel Online 中也可以正常工作。仅在 Excel 2016 for Mac 中失败。
【问题讨论】:
-
应该支持。提交表单时是否看到网络跳闸?你怎么叫post?表单操作还是调用提交处理程序(函数)?您可能想尝试后者并通过您的提交处理程序进行网络调用。
-
用一些细节更新了问题。谢谢!
-
很酷的建议尝试提交处理程序(函数)。我们试过了 - 请在问题的下部查看结果。得到同样的问题。任何其他想法表示赞赏。并感谢您的帮助。
-
我们正在调查该问题并尽快回复。
-
Tristan 告知我们有一种解决方法。你能在这里分享吗?谢谢。
标签: javascript excel office-js