2011-06-20 10 views
7

W poniższym kodzie jak poprawnie wstawić wartość val testName zdefiniowaną w funkcji initialize() w polu Name w ciele?Jak używać w treści html zmiennej, która została zdefiniowana w skrypcie w części głównej

<html> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script> 
<script type="text/javascript"> 

function intialize() 
{ 
    var testName="John"; 
} 
</script> 
</head> 

<body onload="intialize()"> 
<input id="Name" type="textbox" value=testName> 
</body> 
</html> 

Odpowiedz

11

Można użyć dokument gotowy:

<html> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script> 
<script type="text/javascript"> 

$(function(){ 
     $('#Name').val('testName'); 
}); 

</script> 
</head> 

<body> 
<input id="Name" type="textbox" value=""/> 
</body> 
</html> 

Korzystaliśmy z id, nazwa, i ustawić wartość na „” testName gdy dokument jest gotowy.

1

Masz jQuery dostępny, więc UŻYJ go. Nie używać starszej wersji niż 1.6.1 chociaż ..

<html> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.1.min.js"></script> 
<script type="text/javascript"> 
var testName="John"; 
$(document).ready(function() { 
    $('#Name').val(testName); 
}); 
</script> 
</head> 

<body> 
<input id="Name" type="text"> 
</body> 
</html> 
+0

dlaczego nie używać wersji starszej niż 1.6.1? Czy istnieje sposób automatycznego korzystania z najnowszej dostępnej wersji bez wchodzenia w kod co jakiś czas, aby zaktualizować wersję? Twoja sugestia działa bez gotowego użycia dokumentu, więc czy mogę go pominąć, czy jest to konieczność? – Ash

2

Spróbuj deklarując ją poza funkcją

<script type="text/javascript"> 
var testName; 
function intialize() 
{ 
    testName="John"; 
} 
</script> 

Ale stanie się zmienną globalną.

+0

Nie jestem zaznajomiony z Jquery. Mam nadzieję, że to normalne rozwiązanie JS może pomóc. – xyz

+0

Nie odpowiada to na pytanie, w jaki sposób wartość w tej zmiennej można zastosować do pola wejściowego w kodzie HTML? Przeniesienie deklaracji zmiennej nie pomaga w ogóle. – nnnnnn

4

Cóż, jeśli używasz jQuery, można tylko uwzględnienie tego w funkcji:

$("#Name").val(testval); 

Można umieścić skrypt w $ (document) .ready(), choć.

+0

Z jQuery normalnie używałbyś '$ (document) .ready()' zamiast używania zdarzenia 'onload', jednak umieszczając swój sugerowany kod jQuery bezpośrednio w funkcji' initialise() 'OP (która nazywa się' onload') powinien również działać. – nnnnnn

2

To. Jest to łatwe i nie musisz się martwić o ten bałagan jquery.

<html> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script> 
<script type="text/javascript"> 

function intialize() 
{ 
    var testName="John"; 
    document.getElementById("Name").value = testname; 
} 
</script> 
</head> 

<body onload="intialize()"> 
<input id="Name" type="textbox"> 
</body> 
</html> 
Powiązane problemy