表单attr - undefined不是一个函数

时间:2015-06-03 15:15:52

标签: javascript jquery forms

我正在通过以下方式创建一个表单:

        BitmapSource bitmapSource = BitmapSource.Create(
            width,
            height,
            96,
            96,
            PixelFormats.Pbgra32,
            null,
            colorByteArray,
            MainWindow.COLOR_BYTE_PER_PIXEL * width);

        //JPEG encoder
        JpegBitmapEncoder encoder = new JpegBitmapEncoder();
        encoder.QualityLevel = MainWindow.JPEG_QUALITY;
        // create frame from the writable bitmap and add to encoder
        BitmapFrame bmf = BitmapFrame.Create(bitmapSource);
        double scaleRatio = Math.Sqrt(MainWindow.COLOR_SCALING);
        ScaleTransform scale = new ScaleTransform(scaleRatio, scaleRatio);
        TransformedBitmap scaledBmf = new TransformedBitmap(bmf, scale);
        encoder.Frames.Add(BitmapFrame.Create(scaledBmf));

        MemoryStream msColor = new MemoryStream();
        encoder.Save(msColor)
控制台中的

var form = new Element('form', { method: 'post', id: 'formOne', name: 'formOne', action: 'example.example' }); form.insert(new Element('input', {name: 'csv', value: 'Empty', type: 'hidden'})); $(document.body).insert(form); 返回: - 是,没有#selector

$('formOne')
控制台中的

<form method="post" id="formOne" name="formOne" action="example.example"><input name="csv" value="Value" type="hidden"></form> 返回null

$('#formOne')

为什么?我按以下顺序包含以下文件:

Uncaught TypeError: undefined is not a function

编辑:道歉,我的示例代码中的错误

3 个答案:

答案 0 :(得分:0)

您指的是f1,但您的表单ID确实是formOne

将其更改为

$('#formOne').attr('action')

引用正确的表单对象。

答案 1 :(得分:0)

由于f1选择器会查找f1标记,并且由于没有f1标记元素,因此不会返回任何内容。

您必须使用正确的选择器,例如名称[name="formOne"]或ID #formOne

试试这个。

$('#formOne').attr('action')

$('form')有效,因为jQuery可以找到标记名为form的元素。

修改问题后

我认为当您在控制台$('formOne')中尝试$时,不是jQuery对象,而是其他一些库可能是prototype.js。你能查看控制台中$('formOne').jquery返回的内容吗?它返回undefined然后你不能在其他一些库上使用jQuery方法。

答案 2 :(得分:0)

谢谢@mplungjan和@War10ck我了解到我不能在没有jQuery.noConflict

的情况下立即使用原型和jQuery