刚认识到IE9中的奇怪行为,我不知道
ich有这个功能:
function searchProfile(fieldName, term, page, count) {
jQuery.ajax({type:'POST',
data:'fieldName='+fieldName+'&term='+term+'&id=${id}&page='+page+'&count='+count,
url:'${createLink(action: 'searchProfilByName')}',
global: false,
success:function(data,textStatus){jQuery('#'+fieldName+'_results_div').html(data);},
error:function(XMLHttpRequest,textStatus,errorThrown){}});
};
,例如:
<div class="button" onclick="searchProfile('netzwerk', netzwerk_searchterm.value, 0, -1)">
chrome FF opera safari出色地“read
”
netzwerk_searchterm.value
但在IE9或更早版本中出现错误
"SCRIPT: 'netzwerk_searchterm' is undefined"
.val()
无法在所有浏览器中运行
任何人都有一个忍者的想法,错误可能在哪里?
提前谢谢
答案 0 :(得分:2)
您应该使用document.getElementById()
喜欢
searchProfile('netzwerk', document.getElementById('netzwerk_searchterm').value, 0, -1)
答案 1 :(得分:1)
假设netzwerk_searchterm
是该字段的id,请写下:
<div class="button" onclick="searchProfile('netzwerk', jQuery('#netzwerk_searchterm').val(), 0, -1)">
因为你已经有了jQuery。
答案 2 :(得分:1)
您是否将netzwerk_searchterm
定义为变量?
我会说你试图访问某些输入字段的值,所以你应该这样做:
$('input#netzwerk_searchterm').val()
E.g:
<div class="button" onclick="searchProfile('netzwerk', $('input#netzwerk_searchterm').val(), 0, -1)">
答案 3 :(得分:1)
事实是,您可以从方法参数中移动“netzwerk_searchterm.value”部分并将其直接放在函数中,这就是我的意思:
function searchProfile(fieldName, page, count) {
var term = $('input#netzwerk_searchterm').val(); //NOTE this
if(!term)
term = '*'; //you can even customhouse the search term
jQuery.ajax({type:'POST',
data:'fieldName='+fieldName+'&term='+term+'&id=${id}&page='+page+'&count='+count,
url:'${createLink(action: 'searchProfilByName')}',
global: false,
success:function(data,textStatus){jQuery('#'+fieldName+'_results_div').html(data);},
error:function(XMLHttpRequest,textStatus,errorThrown){}});
};
这更具可读性,适用于所有浏览器。