【发布时间】:2023-06-28 17:56:01
【问题描述】:
我有一个类似下面的 HTML:
<div>
<form>
<input type="text" />
<button class="sendForm" value="Send form" />
</form>
</div>
<script>
// post the form with Jquery post
// register a callback that handles the response
</script>
我经常将这种类型的表单与显示表单的 JavaScript/JQuery 叠加层一起使用。例如,可以使用FancyBox 之类的插件来处理。我将 Fancybox 用于 Ajax 内容。
我还想使用嵌入到 GWT 视图中的这个表单。让我们假设 for 不能在客户端创建,因为它内部有一些基于服务器的标记语言来设置一些模型数据。
如果我想在 GWT 中使用此表单,我必须执行以下操作。告诉 GWT 表单请求 url 并使用 RequestBuilder 来查询该表单的 html 内容。然后我可以将它插入到 GWT 生成的 div 中。到目前为止,一切都很好。
问题:
当用户点击发送按钮时,响应由表单下脚本内的 JQuery 回调处理。
有没有办法从 GWT 中访问这个回调?
有没有办法覆盖 JQuery 发送操作?由于代码是 HTML 并且来自服务器,因此我无法将 ui-binder UiFields 放入其中以访问这些 DOM 元素。
如果提交的表单可供 GWT 访问,我需要获得响应。
有没有办法通过 JSNI 实现这一点?
【问题讨论】:
-
Fancybox 不使用 Ajax 来请求照片,它只是创建一个带有
<img>的<div>。你能再发一个例子来弄清楚你想要什么吗?其次,您能否发布用于防止表单响应替换实际页面的 javascript 代码?第三个 RequestBuilder 是 ajax (XHR) 而表单提交不是,那么您使用哪种技术来捕获发布响应? iframe? -
@Manolo 我将 Fancybox 用于 Ajax 内容!
-
好吧,我从来没有用过fancybox,我以为它主要用于图像。在您的应用程序中加载 jquery,我认为不需要加载 3party 库而不是使用 jquery.load。无论如何对其他问题有任何回应吗?
-
@Manolo 无论如何都需要 jquery 负载。我也用那个。这不是重点。问题是如何使用通过 jquery ajax 提交的给定表单。如何使用 JSNI GWT 捕获该表单的响应?
标签: javascript jquery html gwt uibinder