2012-09-20 9 views
5

ho m using codemirror in my ASP.NET MVC 3 application, codemirror s versione è aggiornata (2,34)CodeMirror textarea.getAttribute non è un errore di funzione nell'applicazione MVC3

mia TextArea assomiglia a questo:

@Html.TextAreaFieldFor(s => s.Data.CodeBehind, htmlAttributes: new Dictionary<string, object> { { "class", "textbox codeBehind nffp-code" } }) 

Io uso CodeMirror come questo:

var a = CodeMirror.fromTextArea($code, { 
     lineNumbers: true, 
     matchBrackets: true, 
     mode: "text/x-csharp" 
}); 

dove $ codice è

var $code = jQuery('.nffp-code', $root); 

E dopo il caricamento della pagina ho questo errore:

TypeError: textarea.getAttribute non è una funzione codemirror.js Linea 2209 textarea.getAttribute ("autofocus") = null & & hasFocus == documento! .corpo;

Ho usato questo manuale per l'uso CodeMirror: manual

anche pensato, ho m a total noob in JS, I guess it s difficile da fare male, comunque ho fatto.

Qualsiasi idea su come risolvere il problema?

+6

'Codice delle varietà a = CodeMirror.fromTextArea ($ codice, {' Codice delle che era il problema, dovrebbe essere 'Codice delle CodeMirror.fromTextArea ($ code.get (0), '' codice – inlines

+1

Brillante, solo il suggerimento necessario.Grazie per la pubblicazione – prototype

+1

Solo per modificare la vista del commento di @ inline: 'var a = CodeMirror.fromTextArea ($ code, {...' dovrebbe essere 'CodeMirror.fromTextArea ($ code.get (0), ... ' –

risposta

2

è necessario utilizzare document.getElementById() al posto della ricerca jQuery

+0

Sebbene questo possa rispondere alla domanda, fornire informazioni aggiuntive e esempi di codice migliorerebbe significativamente il suo lungo termineValore 210. Per favore [modifica] la tua risposta per completarla. –

1
document.getElementById('contents'); //returns a HTML DOM Object 

var contents = $('#contents'); //returns a jQuery Object 

In jQuery, per ottenere lo stesso risultato di document.getElementById, è possibile accedere all'oggetto jQuery e di ottenere il primo elemento l'oggetto (ricorda che gli oggetti JavaScript agiscono in modo simile agli array associativi).

var contents = $('#contents')[0]; //returns a HTML DOM Object 
Problemi correlati