2012-09-20 8 views
5

versión que m using codemirror in my ASP.NET MVC 3 application, codemirror s es hasta la fecha (2,34)CodeMirror textarea.getAttribute no es un error de función en la aplicación MVC3

mi TextArea se ve así:

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

utilizo CodeMirror así:

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

donde el código es $

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

Y después de carga de la página que tengo este error:

TypeError: textarea.getAttribute no es una función codemirror.js Line 2209 textarea.getAttribute ("enfoque automático") = null & & hasFocus == documento! .cuerpo;

que utilizan este manual para el uso de CodeMirror: manual

Incluso pensé, m a total noob in JS, I guess it s difícil hacerlo mal, todavía lo hice.

¿Alguna idea sobre cómo solucionar el problema?

+6

'code' var a = CodeMirror.fromTextArea (código $, {' code' que era el problema, debe haber 'code' CodeMirror.fromTextArea ($ code.get (0), '' código – inlines

+1

Brillante, solo la pista que necesitaba. Gracias por publicar – prototype

+1

Solo para editar la vista de comentarios de @ inlines: 'var a = CodeMirror.fromTextArea ($ code, {...' debe ser 'CodeMirror.fromTextArea ($ code.get (0), ... ' –

Respuesta

2

Es necesario utilizar document.getElementById() en lugar de la búsqueda de jQuery

+0

Aunque esto puede responder a la pregunta, proporcionar información adicional y muestras de código mejoraría significativamente su largo plazoValor 210 Por favor [edite] su respuesta para completarlo. –

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

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

En jQuery, para obtener el mismo resultado que document.getElementById, se puede acceder al objeto jQuery y obtener el primer elemento el objeto (Recuerde que los objetos JavaScript actúan de forma similar a las matrices asociativas).

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