现在有一段时间我正在努力解决这个问题。这是一个例子:
HTML示例代码:
<form method="POST">
<label>Input 1:</label><br/>
<input type="text" name="Input1" id="Input1"/><br/>
<input type="submit" name="Login" value="Login" id="Login"/>
</form>
PHP示例代码(script.php):
if(isset($_POST['Input1Php']))
{
$Input1 = $_POST['Input1Php'];
if($Input1 == "Random Condition")
{
echo "All good";
}else
{
echo "Hell no!";
}
}
jQuery示例代码(我也尝试过.submit(),不会改变任何东西):
$('#Login').click(function()
{
var Input1JS = $('#Input1 ').val();
if("Something"=="Random Condition")
{
$.post('script.php',{Input1Php:Input1JS},function(data)
{
if(data=="All good")
{
Show me that
}else
{
Show me this
}
});
}else
{
Just don't do anything
}
});
此脚本可以使用.keyup等查找,但是当我将其更改为单击或提交时,它就不会执行任何操作。我不明白为什么。我错过了什么吗? $ .post是否只适用于那些事件?
PS:请不要将$ .post更改为其他内容。我的观点是要了解这个功能如何以及是否适用于这些事件。
答案 0 :(得分:1)
如果您的问题缺少某些信息,则您的网页可能会回发,因此不会等待$.post
返回。尝试更改
<input type="submit" name="Login" value="Login" id="Login"/>
到
<input type="button" name="Login" value="Login" id="Login"/>
看看会发生什么。
答案 1 :(得分:0)
浏览器通常对按钮有一些默认操作。在这种情况下,后期数据将通过传统方式提交。如果您想阻止此行为,只需在return false;
回调结束时添加click
即可。