我想问两个问题。 webapp应该通过POST(ajax)发送“somedata”,然后将返回的数据从服务器放入div。我使用jQuery,jQuery mobile和phonegap。所以HTML看起来像这样:
<div id="searchingform">
<form method="post" id="sform">
<input type="text" name="group" id="somedata" value="" placeholder="Enter SOMEDATA that will be posted to the server"/>
<div id="buttoncover">
<input type="button" id="loadbut" value="Load" data-mini="true" onClick="sendPost();">
</div>
</form>
</div>
<div id="cnt"></div>
<div id="output"></div>
这是JS代码:
function sendPost() {
$.ajax({
type:'post',
url:'http://thepagethatanswers.com',
data:{'group':$('[name=somedata]').val()},
response:'html',
success:function (data) {
$('#cnt').html(data);
},
error: function(){
$('#output').html('Error');
}
});
};
因此,用户填写表单,按下按钮,将其发送到服务器,答案填入#cnt
div。通常它可以工作但是:
1.按下按钮后,它仍保持按下状态。它工作,但有按下按钮的外观。 jQuery做了那个
<div data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="b" data-mini="true" data-disabled="false" class="ui-btn ui-shadow ui-btn-corner-all ui-mini ui-btn-up-b" aria-disabled="false">
<span class="ui-btn-inner">
<span class="ui-btn-text">Load</span>
</span>
<input type="button" id="loadbut" value="Load" data-mini="true" onclick="sendPost();return true;" class="ui-btn-hidden" data-disabled="false">
</div>
这
<input type="button" id="loadbut" value="Load" data-mini="true" onClick="sendPost();">
我试图显示.removeclass('ui-btn-active')
,但它没有效果。我试图完全重写按钮,它使它看起来像不活动,但它没有魔杖看起来像推动一个。我只需要能够在外观方面表现出正常的行为。
2.需要从表单重新发送'somedata'以更新信息并将其加载到#cnt
中。这是我的第二个问题:直到表格中的'somedata'没有更改为其他值,POST不会发生。示例:我们在输入中输入“1”,按下按钮,得到答案,它填充#cnt
- 这没关系。然后我们再次按下按钮以更新信息,没有任何反应。更改输入值,按下按钮 - 它会根据新的输入值更新#cnt
。我需要它能够多次按下该按钮,它将发送相同的值并获得正确的#cnt
。服务器代码非常复杂,但事实上它只是获取$_POST['somedata']
然后返回html。
UPD:刷新ajax请求的解决方案:我添加了另外一个变量的数据,现在它看起来像这样:
data:{'group':$('[name=group]').val(),tstamp: new Date().getTime()}
因此每次都会发送请求,data
会刷新。