<script language='javascript' type='text/javascript' charset='<?=$page_charset?>'>
$(document).ready(function(){
$('#btn_login').click(function(){
$.search_keyword();
});
});
这是脚本
<form name='frm_search_keyword'>
<table style='width:250px;'>
<tr>
<td style='width:100px;'>
Search
</td>
<td>
<input type="text" name="web_keyword" />
</td>
<td>
<input type="submit" id="btn_login" name="btn_login" value="search!" />
</td>
</tr>
</table>
</form>
这是表格
search_keyword:function(type)
{
$.ajax({
type: 'POST',
url: '/web_keyword',
data: {'b_type':type},
cache: false,
async: false,
success: function(result){
if(result == 12001)
{
alert('please choose your interest.');
location.href = '/account/interest';
}else
location.href = '/'+type+'/'+result;
}
});
}
成功将'web_keyword'发送到db查询并获取结果。 但是我无法通过ajax脚本获取类型数据。 你能帮我从表单表中“输入”数据到ajax脚本吗?
谢谢。
答案 0 :(得分:0)
我不确定这是不是问题,但可疑:
$('#btn_login').click(function(){
$.search_keyword();
});
“类型”应该来自何处?什么是“类型”指的是什么? “type”是从数据库查询返回的值吗?或者是用户在执行搜索时选择的内容?
如果type是表单元素中的内容,则使用Javascript或jQuery或其他任何方法从页面中“获取”该值,然后您需要将该数据传递给AJAX功能。
$('#btn_login').click(function(){
//First get the "type" value, for example if "type" is retrieved from the form element
var type = $('#btn_login').attr('type'); //this is for example's sake, since you did not assign an id to this form element...
search_keyword(type);
});
您只需要从生成和/或存储的位置获取“类型”,并将其传递给您的AJAX函数。
另外,也许这是无关紧要的,但你的“search_keyword()”函数定义对我来说很奇怪......
而不是:
search_keyword:function(type){...}
应该是:
search_keyword = function(type){...}
最后一件事,您能告诉我们您使用的是哪个Javascript库吗?
答案 1 :(得分:0)
尝试添加
" dataType: 'json'," like
$.ajax({
type: 'POST',
url: '/web_keyword',
dataType: 'json',
data: {'b_type':type},
});
并使用
返回日期$data['return1']='true';
echo json_encode($data);
success: function(result){
if(result.return1 == 12001)
{
alert('please choose your interest.');
location.href = '/account/interest';
}else
location.href = '/'+type+'/'+result;
}
你应该删除async:false
强烈建议不要将此选项设置为false,因为它可能会导致浏览器无响应。