2016-04-11 29 views
0

Formun gönderildiği her zaman iç içe geçmiş bir divda 1 değeri eklemek istiyorum.1 - satır değeri için onsubmit ekleme

<form id="form1" name="form1" method="post" action="" class="submit"> 
    <table width="30%" border="0" cellspacing="4" cellpadding="4"> 
    <tr> 
     <td width="58%"><div class="fav_count">1</div></td> 
     <td width="42%"><input type="submit" name="button" id="button" value="Submit" /></td> 
    </tr> 
    </table> 
</form> 
<form id="form2" name="form1" method="post" action="" class="submit"> 
    <table width="30%" border="0" cellspacing="4" cellpadding="4"> 
    <tr> 
     <td width="58%"><div class="fav_count">2</div></td> 
     <td width="42%"><input type="submit" name="button2" id="button2" value="Submit" /></td> 
    </tr> 
    </table> 
</form> 
<form id="form3" name="form1" method="post" action="" class="submit"> 
    <table width="30%" border="0" cellspacing="4" cellpadding="4"> 
    <tr> 
     <td width="58%"><div class="fav_count">3</div></td> 
     <td width="42%"><input type="submit" name="button3" id="button3" value="Submit" /></td> 
    </tr> 
    </table> 
</form> 
<form id="form4" name="form1" method="post" action="" class="submit"> 
    <table width="30%" border="0" cellspacing="4" cellpadding="4"> 
    <tr> 
     <td width="58%"><div class="fav_count">4</div></td> 
     <td width="42%"><input type="submit" name="button4" id="button4" value="Submit" /></td> 
    </tr> 
    </table> 
</form> 

burada Jquery ile Herhangi bir yardım takdir edilecektir

https://jsfiddle.net/fgu42nxr/

keman var. Teşekkürler

+0

_form submitted_ olduğunda, Sayfa '/ reloaded' dolayısıyla' DOM-manipulations' kalıcı olmayacaktır yönlendirildi alacak .. – Rayon

+0

@RayonDabre Doğru adamı var – uzaif

cevap

1

Yukarıdaki yorumlarda belirtildiği gibi, formu gönderirken bunu yapamazsınız, çünkü sayfa yeniden yüklenmesine yol açar. Ancak, varsayılan formu gönderme davranışını iptal edebilir ve ajax veya başka bir şeyle yeniden kullanabilirsiniz. Eğer öyleyse, bunu şöyle yapabilirsiniz:

$("#form1").on('submit', function(e){ 
    e.preventDefault(); 
    // do some stuff here... 
    $(this).find(".fav_count").each(function() { 
     $(this).text(+($(this).text()) + 1) 
    }) 
}) 
1

Sen gönderme düğmeleri için bir sınıf ekleme ve fav_count değerini güncellemek için aynı bir tıklama olayı yazarak bunu yapabilirsiniz.

Göndermek için gönderinizi değiştirin.

<input type="submit" class="cSubmitBtn" name="button4" id="button4" value="Submit" /> 

Şimdi, yukarıdaki geçerli değeri almak ve güncelleştirmek için yukarıdaki düğme için bir tıklama olayı yazın.

Aşağıdaki kodda jQuery öğesinin parent() işlevi kullanılarak geçerli fav değeri alıyoruz, ardından geçerli değeri bir artırıyoruz.

Son olarak, değeri jQuery öğesinin .text (value) işlevini kullanarak aynı span öğesine metin olarak ayarlıyoruz.

https://jsfiddle.net/fgu42nxr/3/

$('.cSubmitBtn').click(function(e) { 
     e.preventDefault(); 
    var favDiv=$(this).parents('tr').find('.fav_count'); 
    var currentValue=parseInt(favDiv.text()); 
    currentValue++; 
    favDiv.text(currentValue); 
}); 

tıklamada formu göndermek için Gönder düğmesini önleyecektir kodunun üzerinde unutmayınız. Yine de formu göndermek istiyorsanız aynı jQuery kodunda yapabilirsiniz. İşte

+0

yanıt düzgün çalışıyor, ancak div formunun üstünde bir tabloyu yerleştiriyorum ve işe yaramaz – neiza

1

bir çözüm =>plunkr

$(document).ready(function() { 
$("form").submit(function(event) { 
    event.preventDefault(); 
    $div = $(this).find(".fav_count"); 
    var count = parseInt($div.html()); 
    count++; 
    $div.html(count.toString()); 
}); 
}); 
İlgili konular