为什么我的ajaxForm调用会在页面上发送所有表单,而不仅仅是我想要的那个?

时间:2013-06-13 09:50:20

标签: jquery forms

美好的一天。

当我使用下面的代码时,它会在页面上发送所有表单,而不是我指定的表单。

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

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

var form = '#imagetempform' + count;

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

请告诉我如何发送一份表格?

3 个答案:

答案 0 :(得分:4)

由于form是变量,您需要更改:

$("form")

要:

$(form)

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

有关详细信息,请参阅jQuery's Element Selector ("element")文档。


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

  

P.S。:$(表格).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 + "']";

答案 1 :(得分: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(

答案 2 :(得分:0)

只需删除双引号:

$(form).ajaxForm(