2011-11-28 10 views
5

Jestem nowy w JavaScript i mieć bardzo podstawowe pytanie:Jak uzyskać dostęp do moich wartości formularza w document.ready

mam to w moim HTML

Total Cost: <input type="text" name="total" id="total" class="MyInput" /> 

chcę przypisać wartość ta textbox przy starcie programu, dla którego używam document.ready, ale nie działa.

<SCRIPT LANGUAGE="JavaScript"> 
    $(document).ready(function() {{ 
     $("#total").value = "2"; 
    }); 

Jaki jest prawidłowy sposób wykonania tej czynności?

+0

Czy masz zamykający znacznik 'script'? –

Odpowiedz

5

Do:

 
    $(document).ready(function(){ 
     $("#total").val('2'); 
    }); 
+1

+1 chociaż OP ma błędne dodatkowe '{' na początku bloku funkcji obsługującego. –

+0

@RoryMcCrossan Nigdy nie wiem, czy jest grzeczny, aby zaktualizować odpowiedź - ale po prostu to zrobiłem !!! :-) – ManseUK

+0

Dzięki, działa – junaidp

0

Macie jakieś jQuery w JavaScript ... masz na myśli, jak to zrobić w jQuery?

Aby to zrobić w czystym JavaScript, oto kod:

oFormObject = document.forms['myform_id']; //the id of your form 
oFormElement = oFormObject.elements["total"]; 
oFormElement.value=2; 

I z jQuery:

$(document).ready(function(){ 
{ 
    $("#total").val("2"); 
}); 
+0

Dlaczego po prostu nie użyjesz 'document.getElementById ('total')' w czystym przykładzie Javascript? –

+0

@AnthonyGrist to też była moja pierwsza myśl, jednak po tym, jak podałem go w celu podwójnego sprawdzenia mojego kodu, natknąłem się na ten artykuł: http://www.javascript-coder.com/javascript-form/javascript-form-value.phtml który wydaje się insynuować, że document.getElementById() nie jest najlepszym sposobem, aby to zrobić w przypadku formularzy. Nie widziałem, żeby to było robione w ten sposób przedtem, ale pomyślałem, że lepiej pójdę z tym, co czytam, niż moją własną (zardzewiałą) wiedzą. – jammypeach

+0

teraz myślę o tym (i ponownie przeczytać artykuł) document.getElementById ("ogółem") działa dobrze, nie wiem, dlaczego myślałem, że to nie było w porządku. lol to poniedziałek – jammypeach

0

Można to zrobić bez używania JavaScript w ogóle, jeśli po prostu chcesz ustawić początkowy wartość - i oczywiście wiesz, że wartość:

<input type="text" name="total" id="total" value="2" class="MyInput" /> 

używając value="" Param w znaczniku input

+0

Potrafi, ale ponieważ OP poprosił o zrobienie tego w jQuery, to tak naprawdę nie odpowiada na jego pytanie. To nie zadziała, jeśli OP na przykład pobiera wartości z żądania JSON przy ładowaniu. –

+0

@RoryMcCrossan całkowicie się zgadzam - chciałem tylko podkreślić, że gdyby znał wartość początkową, mógł ustawić ją przy pomocy HTML ... – ManseUK

+0

Bez obaw, uczciwy punkt :) –

Powiązane problemy