3

良い一日。

次のコードを使用すると、指定した 1 つのフォームだけでなく、ページ上のすべてのフォームが送信されます。

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

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

var form = '#imagetempform' + count;

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

フォームを 1 つだけ送信する方法を教えてください。

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 に答える
0

二重引用符を削除するだけです:

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