2016-04-12 17 views
0

Ben formu yakında bir radiobutton tıklayarak olarak submited alır böylece, onclick işlevleri eklediğiniz bir biçimde Radiobutonlar var.Daha sonra onclick işlevinde bir komut

<td>@Html.RadioButtonFor(m => m.SelectedTeacher, Model.ListofTeacher[i].ID, new { @onclick = "javascript: this.form.submit();"})</td> 

Bu iyi çalışıyor ama şimdi onclick işlevine ikinci bir komut eklemek istiyorum.

O halde eylem "Örnek" değişmelidir.

using (Html.BeginForm("Example", "Home", new { id = "form" })){} 

Yani bu

<td>@Html.RadioButtonFor(m => m.SelectedTeacher, Model.ListofTeacher[i].ID, new { @onclick = "document.getElementById('form').action = 'Delete'; 
    this.form.submit();" })</td> 

çalıştı ama bu işe yaramaz.

birisi düzgün bunu nasıl açıklayabilir misin?

Gerçekten js becerileri yok, bu yüzden bilgi eksikliği varsa isteyiniz!

Şerefe.

cevap

1

onclick kullanarak, sadece eylem ile bir etkinlik kaydedebilirsiniz. Birden olayları kaydetmek istiyorsanız

Eğer addEventListener kullanmak gerekir ve W3C DOM belirtilen bir olay dinleyicisini kaydetmek için bir yoldur.

var radios = document.getElementsByName('SelectedDevice'); 
for (i = 0; i < radios.length; i++) { 
    radios[i].addEventListener('click', onRadioButtonClick); 
    radios[i].addEventListener('click', onRadioButtonClick2); 
} 

function onRadioButtonClick() { 
    document.getElementById('form').action = 'Delete'; 
    this.form.submit(); 
} 

Ayrıca, birden fazla olayı kopyalamak yerine tüm işlemleri gerçekleştirmek için bir olay dinleyicisi de kullanabilirsiniz. HTML'de

:

<td>@Html.RadioButtonFor(m => m.SelectedDevice, Model.ListofDevice[i].ID, new { @onclick = "onRadioButtonClicked" })</td> 

JavaScript'inizde:

function onRadioButtonClick() { 
    document.getElementById('form').action = 'Delete'; 
    this.form.submit(); 

    // Your other operations here 
} 
+1

bir olay dinleyicisi ekleyin ve orada tüm eylemler koydu. Kesinlikle böyle bir şey için birden fazla etkinlik dinleyicisi eklemeyin. –

İlgili konular