3

Good day.

When I use the following code, it sends all forms on the page, instead of just the one form I specified.

$('.imagetemp').on('change',function(){

var id = this.id;
var arr = id.split('upload');
var count = arr[1];

var form = '#imagetempform' + count;

$("form").ajaxForm(
...
...
...

Tell me please how to send just one form?

4

3 回答 3

4

作为form一个变量,您需要更改:

$("form")

至:

$(form)

否则,您将页面上的所有表单元素引用为用引号括起来的变量不再是变量 - 它是一个字符串,它$()被解释为一个 jQuery 选择器。

有关更多信息,请参阅jQuery 的元素选择器(“元素”)文档。


编辑:(来自已编辑的问题):

PS:$(form).ajax() 不起作用测试这个你可以在这里看到http://testwork.ru/10006/template1.php(在图片点击按钮'выбрать'之前)...

这是因为您的表单没有 ID。

<form name="imagetempform1" class="..." ... >...</form>

#用于选择 ID。您可以在以下位置添加 ID:

<form name="imagetempform1" id="imagetempform1" class="..." ... >...</form>

或者您可以更改选择器以选择名称,而不是:

var form = "[name='imagetempform" + count + "']";
于 2013-06-13T09:52:01.750 回答
3
var form = '#imagetempform' + count;

$("form").ajaxForm(

Here you have assigned the form id in the form variable

so

$("form").ajaxForm( will be

$(form).ajaxForm(
于 2013-06-13T09:54:55.303 回答
0

只需删除双引号:

$(form).ajaxForm(
于 2013-06-13T09:54:10.690 回答