如何在获取信息(不提交)时显示警告消息或警告框
我的html中有很少的表单结构(文本类型),当我在其中一个表单中输入 id 并按下get按钮时,所有其他表单将根据提交的表单填写。< / p>
对于上面我使用的是json和jquery
例如:
Jquery的
$(document).ready(function(){
$("#button1").click(function(){
$.post('script_1.php', { id: $('input[name="id"]', '#myForm').val() },
function(json) {
$("input[name='title']").val(json.title);
$("input[name='name']").val(json.name);
$("input[name='age']").val(json.age);
$("#institution").val(json.institution);
}, "json");
});
JSON:
$abc_output = array('title' => $row['title'],'name' => $row['name'],'age' => $row['age'], 'institution' => $row['institution']);
echo json_encode($abc_output);
现在问题是所有id都没有信息所以当用户输入一些没有弹出信息的id或者需要提交警告框时说没有id。
我该怎么做?
注意:因为它是获取信息,结果将显示在同一页面上,如果它的提交我可以回显在服务器端php(script_1.php)中找不到的ID,这不是这里的情况。< / p>
HTML:
id: <input type="text" name="id"/>
<div id="hidden" style="display: none;">
<p>Title:<input type="text" name="title"/></p>
<p>name:<input type="text" name="rno"/></p>
<p>age:<input type="text" name="age"/></p>
Institution: <select id="institution" name="institution">
<option value="None">-- Select --</option>
<option value="ab">ab</option>
<option value="bc">bc</option>
</select>
</div>
<br/>
<input type="button" id="button1" value ="Get Info" onclick="document.getElementById('hidden').style.display = '';"/>
</form>
<div id="age"></div>
</body>
</html>
答案 0 :(得分:1)
你没有发布你的开场<form>
标签,但我假设它的id为'myForm'(你不需要)。
我检查了你的javascript,发现语法错误(缺少});
)。试试这个:
$(document).ready(function(){
$("#button1").click(function(){
$.post('script_1.php', { id: $('input[name="id"]').val() }, function(json) {
$("input[name='title']").val(json.title);
$("input[name='name']").val(json.name);
$("input[name='age']").val(json.age);
$("#institution").val(json.institution);
}, "json");
});
});
注意我从将值传递给php的部分中删除了#myForm
。表单本身没有值,各个字段都有。
答案 1 :(得分:1)
设置AJAX错误处理程序,处理会话超时,json'parseerror'等事情可能会有所帮助。
$(document).ajaxError(function() {
alert( "Triggered ajaxError handler." );
});
这可以帮助您确定问题是否与未调用成功回调有关。