使用POST从MobileGap移动jQuery应用程序中检测成功的html表单提交到跨域脚本

时间:2012-01-17 18:49:49

标签: javascript jquery forms jquery-mobile cordova

我正在制作一个基于PhoneGap移动jQuery的iOS应用程序,用于评估我的大学课程。 该大学提供了一个课程评估平台,该平台使用带有method =“POST”的常规html格式。

由于脚本属于我的uni并由我的uni托管,我无法编辑或阅读它。

<form action="http://example.com/script/kurt2/receive.php" method="post" target="result" onsubmit="" id="klinikkurt">
<input type="hidden" name="id" value="4136" />
<input type="range" name="q1" value="" min="1" max="6"  data-track-theme="d" data-theme="d"/>
</form>

成功提交后,脚本会重定向到感谢页面,这会使应用无效。向表单添加目标和隐藏的iframe可使应用程序在提交时保持可用。

我想显示一条感谢信息,并在成功提交问题后重置应用中的表单(我的问题)是我不知道如何检测成功提交表单。

我尝试在iframe上使用onLoad事件,虽然这会在成功提交时执行javascript,但它也会在初始加载时执行该函数。

更新

Per Elijah的建议我一直在尝试(失败)使用jQuery的.ajax实现这一点 这是我的代码:
HTML:如上所述,但我删除了表单上的action-attribute。

使用Javascript:

$("#klinikkurt").submit(function() {
var dataString = $("#klinikkurt").serialize();
$.ajax({
    url: 'https://doit.medfarm.uu.se/script/kurt2/receive.php',
    type: "POST",
    data: dataString,
    success: function() {
        $('#kk').load('index.html');
    }
});
return false;
});

在提交时没有任何事情发生,但刷新。

2 个答案:

答案 0 :(得分:3)

如何使用AJAX提交表单内容?这将允许您在JS中处理HTTP请求的结果,而不是直接处理它的浏览器......

答案 1 :(得分:0)

像Digg和Reddit这样的社交书签网站让用户通过对用户喜欢的内容进行投票来决定网站的主要内容。他们使用AJAX处理所有投票,以便用户能够快速,轻松地在多个故事中发表意见。