我最近收到此错误并且不确定如何解决它...
TypeError: $(...).get(...).trim is not a function
我使用的脚本是:
function vbstatus_change_status(statusID,userID,inputID,editboxID,statusboxID)
{
$(inputID).value=vbstatus_htmlspecialchars_decode($(statusID).get('text').trim(),'ENT_QUOTES');
$(statusboxID).setStyle('display','none');
$(editboxID).setStyle('display','inline');
$(inputID).addEvent('keydown',function(e){
if(e.key=='enter'){
vbstatus_update_status(statusID,userID,inputID,editboxID,statusboxID);
}
});
if($chk($('inlinemodform'))){
$('inlinemodform').addEvent('submit', vbstatus_formkill);
}
}
我正在研究类似于我here的问题,但不知道如何处理它!!
任何想法如何做到这一点?
更新:这里是我正在使用的脚本
function vbstatus_htmlspecialchars_decode (string, quote_style) {
var optTemp = 0, i = 0, noquotes= false;
if (typeof quote_style === 'undefined') { quote_style = 2;
}
string = string.toString().replace(/</g, '<').replace(/>/g, '>');
var OPTS = {
'ENT_NOQUOTES': 0, 'ENT_HTML_QUOTE_SINGLE' : 1,
'ENT_HTML_QUOTE_DOUBLE' : 2,
'ENT_COMPAT': 2,
'ENT_QUOTES': 3,
'ENT_IGNORE' : 4 };
if (quote_style === 0) {
noquotes = true;
}
if (typeof quote_style !== 'number') { // Allow for a single string or an array of string flags quote_style = [].concat(quote_style);
for (i=0; i < quote_style.length; i++) {
// Resolve string input to bitwise e.g. 'PATHINFO_EXTENSION' becomes 4
if (OPTS[quote_style[i]] === 0) {
noquotes = true; }
else if (OPTS[quote_style[i]]) {
optTemp = optTemp | OPTS[quote_style[i]];
}
} quote_style = optTemp;
}
if (quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {
string = string.replace(/�*39;/g, "'"); // PHP doesn't currently escape if more than one 0, but it should
// string = string.replace(/'|�*27;/g, "'");
// This would also be useful here, but not a part of PHP
}
if (!noquotes) {
string = string.replace(/"/g, '"');
}
return string;
}
function vbstatus_get_html_translation_table (table, quote_style) {
var entities = {}, hash_map = {}, decimal = 0, symbol = ''; var constMappingTable = {}, constMappingQuoteStyle = {};
var useTable = {}, useQuoteStyle = {};
// Translate arguments
constMappingTable[0] = 'HTML_SPECIALCHARS'; constMappingTable[1] = 'HTML_ENTITIES';
constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
constMappingQuoteStyle[2] = 'ENT_COMPAT';
constMappingQuoteStyle[3] = 'ENT_QUOTES';
useTable = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';
if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
throw new Error("Table: "+useTable+' not supported'); // return false;
}
entities['38'] = '&';
if (useTable === 'HTML_ENTITIES') { entities['160'] = ' ';
entities['161'] = '¡';
entities['162'] = '¢';
entities['163'] = '£';
entities['164'] = '¤'; entities['165'] = '¥';
entities['166'] = '¦';
entities['167'] = '§';
entities['168'] = '¨';
entities['169'] = '©'; entities['170'] = 'ª';
entities['171'] = '«';
entities['172'] = '¬';
entities['173'] = '­';
entities['174'] = '®'; entities['175'] = '¯';
entities['176'] = '°';
entities['177'] = '±';
entities['178'] = '²';
entities['179'] = '³'; entities['180'] = '´';
entities['181'] = 'µ';
entities['182'] = '¶';
entities['183'] = '·';
entities['184'] = '¸'; entities['185'] = '¹';
entities['186'] = 'º';
entities['187'] = '»';
entities['188'] = '¼';
entities['189'] = '½'; entities['190'] = '¾';
entities['191'] = '¿';
entities['192'] = 'À';
entities['193'] = 'Á';
entities['194'] = 'Â'; entities['195'] = 'Ã';
entities['196'] = 'Ä';
entities['197'] = 'Å';
entities['198'] = 'Æ';
entities['199'] = 'Ç'; entities['200'] = 'È';
entities['201'] = 'É';
entities['202'] = 'Ê';
entities['203'] = 'Ë';
entities['204'] = 'Ì'; entities['205'] = 'Í';
entities['206'] = 'Î';
entities['207'] = 'Ï';
entities['208'] = 'Ð';
entities['209'] = 'Ñ'; entities['210'] = 'Ò';
entities['211'] = 'Ó';
entities['212'] = 'Ô';
entities['213'] = 'Õ';
entities['214'] = 'Ö'; entities['215'] = '×';
entities['216'] = 'Ø';
entities['217'] = 'Ù';
entities['218'] = 'Ú';
entities['219'] = 'Û'; entities['220'] = 'Ü';
entities['221'] = 'Ý';
entities['222'] = 'Þ';
entities['223'] = 'ß';
entities['224'] = 'à'; entities['225'] = 'á';
entities['226'] = 'â';
entities['227'] = 'ã';
entities['228'] = 'ä';
entities['229'] = 'å'; entities['230'] = 'æ';
entities['231'] = 'ç';
entities['232'] = 'è';
entities['233'] = 'é';
entities['234'] = 'ê'; entities['235'] = 'ë';
entities['236'] = 'ì';
entities['237'] = 'í';
entities['238'] = 'î';
entities['239'] = 'ï'; entities['240'] = 'ð';
entities['241'] = 'ñ';
entities['242'] = 'ò';
entities['243'] = 'ó';
entities['244'] = 'ô'; entities['245'] = 'õ';
entities['246'] = 'ö';
entities['247'] = '÷';
entities['248'] = 'ø';
entities['249'] = 'ù'; entities['250'] = 'ú';
entities['251'] = 'û';
entities['252'] = 'ü';
entities['253'] = 'ý';
entities['254'] = 'þ'; entities['255'] = 'ÿ';
}
if (useQuoteStyle !== 'ENT_NOQUOTES') {
entities['34'] = '"'; }
if (useQuoteStyle === 'ENT_QUOTES') {
entities['39'] = ''';
}
entities['60'] = '<'; entities['62'] = '>';
// ascii decimals to real symbols
for (decimal in entities) { symbol = String.fromCharCode(decimal);
hash_map[symbol] = entities[decimal];
}
return hash_map;}
function vbstatus_htmlentities (string, quote_style) {
var hash_map = {}, symbol = '', tmp_str = '', entity = '';
tmp_str = string.toString();
if (false === (hash_map = vbstatus_get_html_translation_table('HTML_ENTITIES', quote_style))) {
return false;
}
hash_map["'"] = '''; for (symbol in hash_map) {
entity = hash_map[symbol];
tmp_str = tmp_str.split(symbol).join(entity);
}
return tmp_str;
}
function vbstatus_formkill(e){
e.stop();
}
function vbstatus_change_status(statusID,userID,inputID,editboxID,statusboxID)
{
$(inputID).value=vbstatus_htmlspecialchars_decode($(statusID).get('text').trim(),'ENT_QUOTES');
$(statusboxID).setStyle('display','none');
$(editboxID).setStyle('display','inline');
$(inputID).addEvent('keydown',function(e){
if(e.key=='enter'){
vbstatus_update_status(statusID,userID,inputID,editboxID,statusboxID);
}
});
if($chk($('inlinemodform'))){
$('inlinemodform').addEvent('submit', vbstatus_formkill);
}
}
function vbstatus_update_status(statusID,userID,inputID,editboxID,statusboxID)
{
var update_url = 'vbstatus.php?do=update_status';
var update_text = $(inputID).value;
var req = new Request.HTML({url:update_url, data:{'status':update_text},
onSuccess: function(html,responseElements,responseHTML,responseJavascript) {
var myJSON = JSON.decode(responseHTML);
$(statusID).set('html',myJSON.updated_status);
$(statusboxID).setStyle('display','inline');
$(editboxID).setStyle('display','none');
if($chk($('inlinemodform'))){
$('inlinemodform').removeEvent('submit', vbstatus_formkill);
}
$(inputID).removeEvents('keydown');
},
onFailure: function() {
$(statusID).set('text','The Request Failed');
if($chk($('inlinemodform'))){
$('inlinemodform').removeEvent('submit', vbstatus_formkill);
}
$(inputID).removeEvents('keydown');
}
});
req.send();
}
更新#2:此脚本使用mootools lib。
更新#3:是否可以将此脚本转换为Jquery而不是Mootools?
答案 0 :(得分:2)
我自己找到了解决方案,但非常感谢那些试图提供帮助的人。答案对我的想法很简单。
我所要做的只是改变
$(
要
document.id(
我为脚本
中的所有$(
做了这个
脚本又开始工作了。
答案 1 :(得分:2)
避免像定义自调用函数那样的问题,并将document.id作为参数传递:
(function($) {
// in this context $ refers to the document.id
})(document.id);