trim ist nicht ein Fehler einer Funktion
Vor kurzem habe ich diesen Fehler bekommen und nicht wissen wie Sie es beheben...
TypeError: $(...).get(...).trim is not a function
Dem Skript, das ich benutze ist diese:
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);
}
}
War ich auf der Suche bei einem ähnlichen Problem den ich habe hier, die noch nicht sicher sind, wie Sie mit Ihr umgehen!!
irgendeine Idee, wie das zu tun?
Update: hier das script, das ich verwende
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();
}
Update# 2: dieses Skript verwendet mootools lib.
Update # 3: ist es möglich, konvertieren Sie dieses Skript auf Jquery statt Mootools?
verwenden Sie einige Bibliothek hier?
ja, ich benutze mootools.js lib
du hast Recht - ich habe bearbeitet meinen Kommentar zuvor.
Meine Vermutung ist, dass .get("text") ist nicht wieder ein string
wie gesagt, Benjamin - dies wird nicht unterstützt, in alten Browsern (IE8-, FF3-) und es ist sehr einfach javascripter.net/faq/trim.htm
ja, ich benutze mootools.js lib
du hast Recht - ich habe bearbeitet meinen Kommentar zuvor.
trim
war nicht festgelegt, die auf alten Browsern und ich verwenden, um Sie zu unterstützen - so, ich benutze es nie in plain JS. obwohl die Schaffung einer in der Zeichenfolge Prototyp-Objekt ist super einfachMeine Vermutung ist, dass .get("text") ist nicht wieder ein string
wie gesagt, Benjamin - dies wird nicht unterstützt, in alten Browsern (IE8-, FF3-) und es ist sehr einfach javascripter.net/faq/trim.htm
InformationsquelleAutor Digital site | 2014-04-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Lösung selber, aber vielen Dank für alle, die zu helfen versucht. Die Antwort war einfach, was ich dachte.
Alles was ich zu tun hatte, ist die änderung der
Zu
Habe ich, dass für alle
$(
im SkriptUnd das Skript wieder angefangen zu arbeiten.
$
von MooTools. Sie können tun, mit MooTools alles, was jQuery macht, so könnte es besser sein, nicht mischen zu viel. Wie auch immer, mitdocument.id()
statt$
ist schlau und vermeidet diese Art von Problemen.InformationsquelleAutor Digital site
Zu vermeiden, Themen wie die Definition von selbst-aufrufen-Funktion auf und übergibt Dokument.id als argument:
InformationsquelleAutor Danijel