Şartlı bir formun yayınlanmasından sonra bir javascript işlevi ayarı

3 Cevap php

very temel soru için özür dilemek - kurs javascript geliyor! Fakat bundan önce, ben bir javascript işlevi vardır:

 function toggle(request)

Işlevi sadece görünür / görünmez bir div değiştirir. Ben aşağıdaki gibi bir onclick olayı kullanarak bu işlevi istediğim davranışı tetikleyebilir:

<input type="radio" name="complete" value="true" id="complete_yes" 
onclick="toggle('true');"/>

Bu iyi çalışır, ancak belli koşullar altında, bir formu gönderdikten sonra otomatik olarak seçilecek radyo düğmesi ve javascript fonksiyonu otomatik olarak ayarlanır istiyorum:

toggle('true')

... Böylece div içeriğini ortaya. Ben "kontrol" bölümü çalışma var, ama nasıl javascript fonksiyonu şartlı true aswell ayarlanacak alabilirim?

<input type="radio" name="complete" value="true" {if $data.complete == true}checked{/if} id="complete_yes" 
onclick="toggle('true');"/>

3 Cevap

Yerine jQuery öğrenmeye karar! Sözdizimi aşağıda istenen sonucu ve çok sıçramalı olduğunu!

$(document).ready(function () {
 $('#complete_yes').toggle(function () {
	$('#repair_complete').removeClass('hidden');
 }, function() {
	$('#repair_complete').addClass('hidden');
});
});

Ne testi hakkında, sizin JS toggle function, div görünür yapılacak olan veya sizin giriş durumu "kontrol" bağlı değilse?

Biraz böyle bir şey sanırım:

function toggle()
{
    if (document.getElementById('YOUR_INPUT_ID').checked) {
        document.getElementById('YOUR_DIV_ID').style.display = 'block';
    } else {
        document.getElementById('YOUR_DIV_ID').style.display = 'none';
    }
}

Absolutly not tested, but I think you'll get the idea :-)
(I never know if the input in considered as "checked" before or after the JS function on onclick is called... So you might actually have to invert the 'block' and 'none' settings)

Eğer birkaç giriş / divs varsa Ve, toggle işleve parametre olarak kendi kimlikleri geçebilir ...

Bu şekilde, bu işlev için "başlatma" her türlü konusunda endişelenmenize gerek asla.


Note that you could also test if the div is visible, with something like this :

function toggle()
{
    if (document.getElementById('YOUR_DIV_ID').style.display == 'none') {
        document.getElementById('YOUR_DIV_ID').style.display = 'block';
    } else {
        document.getElementById('YOUR_DIV_ID').style.display = 'none';
    }
}

(not tested either)

Bu şekilde, işlevi gerçekten toggle görüntüleyen div adlı, her zaman denir olacaktır.

Neden böyle bir şey yapamaz:

{if $data.complete == true}
<script type="text/javascript">toggle('true');</script>
{/if}