简单的HTML表单:
<form action="test.php" method="post" name="my_form" id="my_form" >
<input name="c_name" type="text" id="c_name" maxlength="90"/>
</form>
test.php,代码如下:
<?php
$name=$_POST['c_name'];
if ((!isset($name)) || ($name==''))
{
echo 'Fill in the name';
}
else
{
echo $name;
}
?>
现在,我希望在提交表单时提供以下内容:
1)不要将当前浏览器窗口保留为PHP以显示相应的消息。我希望表单窗口保持不变。
2)我不想只是一个简单的回复消息。例如,我想要一个更加图形化的交互方式,而不是“填写名称”,就像制作隐藏的div一样;换句话说,我想在PHP中编写Jquery并使其执行。它有可能吗?如何?
我知道我必须使用AJAX,但我不知道该怎么做!你能给我一些代码来实现上述两件事吗?
答案 0 :(得分:0)
我相信,如果您对所有这一切都不熟悉,就像您似乎一样,您最好使用jQuery。可以在此处找到ajax示例:http://api.jquery.com/jquery.ajax/
这种情况下的代码有点广泛。因为你不仅想要检查它是否实际上是空的,而且你还想要preg_match它。这意味着您要确保您的用户实际发送的内容(而不是中断或破解或注入您的服务器,这很重要)。
所以看到这个我建议阅读教程,像这样(快速谷歌搜索):http://code.tutsplus.com/tutorials/5-ways-to-make-ajax-calls-with-jquery--net-6289
在进入后续步骤之前先熟悉一些基础知识。
答案 1 :(得分:0)
获得你想要的效果。我喜欢使用jQuery Form Plugin,它可以很容易地从任何现有的表单创建一个AJAX表单。然后简单地在你提交的.php文件中回显你的结果(提示:你也可以用样式回显div。)下面的例子,假设你的页面上包含了jQuery Form Plugin,将使用AJAX提交表单并返回将结果回显给id = status的div。
$(document).ready(function(){
var status = $('#status');
$('#my_form').ajaxForm({
beforeSend: function() {
status.empty();
},
complete: function(xhr) {
status.html(xhr.responseText);
}
});
});