login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[JS] stuk js in url (Opgelost)

Offline Milannetjuhh - 20/08/2007 22:07 (laatste wijziging 21/08/2007 00:18)
Avatar van MilannetjuhhNieuw lid Beste Sima's,

Ik wil een functie met een variable.
Dat lukt, maar in die variable wil ik een stuk JS.
zoals dit:
  1. <script type="text/javascript">
  2. function functie(variable){
  3. alert("voorbeeld")
  4. }
  5. variable = 'text' + document.getElementById('id').value;
  6. <input type="button" id="id" onclick="functie(variable)" value=" text">


De output zou moeten zijn:
text text
Dit werkt niet:(
als ik het deel "+ document..." weghaal dan lukt het wel met de output:
text

Iemand een oplossing?

16 antwoorden

Gesponsorde links
Offline timmie_loots - 20/08/2007 22:13
Avatar van timmie_loots PHP gevorderde
  1. <script type="text/javascript">
  2. function functie(variabele)
  3. {
  4. window.alert(variabele);
  5. }
  6. </script>
  7. <input type="button" onclick="functie(this.value)" value=" text">
Offline Rens - 20/08/2007 22:14
Avatar van Rens Gouden medaille

Crew algemeen
Op regel 5...
Daar staat 2 keer een ' terwijl je iets verder een " gebruikt...
Offline Milannetjuhh - 20/08/2007 22:15 (laatste wijziging 20/08/2007 23:01)
Avatar van Milannetjuhh Nieuw lid Ow, wel bedankt, maar ik gebruikte de value van die button als voorbeeld om het script overzichtelijk te houden ;)

srry, en als ik het van een ander input geval wil?

-edit-
ow, sorry typo,
maar zoals ik al zei, zonder dat js deel in die variable doet ie het wel,
ik heb die code ff snel in elkaar geflantst;)
Offline BramBo - 21/08/2007 09:38 (laatste wijziging 21/08/2007 09:38)
Avatar van BramBo JS gevorderde
  1. function f(n) {
  2. var El = document.getElementById(n);
  3. alert(el);
  4. }


aanroep: onclick="Javascript:f('IdVanHetElement');"
Offline Thomas - 21/08/2007 12:20
Avatar van Thomas Moderator regel 5 van het codefragment in het oorspronkelijke bericht valt buiten de accolades van de functie... De waarde van 'variabele' wordt ook nergens aan toegekend (en gaat dus verloren).
Offline Milannetjuhh - 21/08/2007 22:11
Avatar van Milannetjuhh Nieuw lid Sorry dat ik misschien onduidelijk was.
Ik zal het met een voorbeeld dat ik nu gebruik uitleggen...
ik heb ajax.js.

Die wil ik includen en dan in html gebruiken.
Die url in de ajax functie daar moet de inhoud van het input veld zitten, dus ik dacht dit:
  1. <script type="text/javascript" src="ajax.js">
  2. url = 'pagina.php?id=' + document.getElementById('id').value;
  3. <input type="text" id="id">
  4. <input type="button" onclick="ajax(url, 'id')" value="Submit">
Offline BramBo - 22/08/2007 13:17 (laatste wijziging 22/08/2007 15:25)
Avatar van BramBo JS gevorderde Zoals je nu je code hebt wordt de URL opgebouwd voordat de DOM werkelijk is opgebouwd. Je kan de URL opbouwen via een eventhandler of makkelijker en beter nog in dit gevalt door te refereren naar het object het moment dat je de functie aanroept:

  1. <head>
  2. <script type="text/javascript" src="ajax.js"></script>
  3. </head>
  4. <body>
  5. ..........
  6. <input type="text" id="id">
  7. <input type="button" onclick="ajax('pagina.php?id="+document.getElementById('id').value+"', 'id')" value="Submit">
  8. ..........
  9. </body>


Wellicht wil je nog een value check doen op de input box (aangezien het user input is). Wanneer dit zo zou zijn zou ik een functie schrijven die een id + patroon door krijgt.

dus :
  1. <head>
  2. <script type='text/javascript'>
  3. var prefix = 'pagina.php?id=';
  4. function getVal(id, pattern) {
  5. (eval('/'+pattern+'/').test(document.getElementById(id).value) === true) ? ajax(prefix+document.getElementById(id).value, id) : alert('geen geldige input voor veld '+id);
  6. }
  7. </script>
  8. <head><body>
  9. <a onclick="getVal('aa', '\\d{1,5}')">asdasd</a>
  10. </body>
(1 tot 5 digits; let wel \\ == \ door de eval functie zijn de \'s weg gewerkt dus vandaar)
Offline Milannetjuhh - 22/08/2007 15:17 (laatste wijziging 22/08/2007 15:35)
Avatar van Milannetjuhh Nieuw lid Ik heb het js event gedeelte opgelost:
  1. onclick="ajax('pagina.php?id='+document.getElementById('id').value, 'txt')"


Als ik de ajax.js kopieer en in dezelfde .html zet dan doet ie het, maar als ik hem include via ' src="" ' dan werkt het niet meer:S...
Offline BramBo - 22/08/2007 15:26 (laatste wijziging 22/08/2007 15:39)
Avatar van BramBo JS gevorderde Edit:

Dat is waarschijnlijk een modeling fout. Staat je script in je head? gebruik je een doctype? etc.
Offline Milannetjuhh - 22/08/2007 15:36 (laatste wijziging 22/08/2007 15:41)
Avatar van Milannetjuhh Nieuw lid Ja:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Untitled Document</title>
  5. <script type="text/javascript" src="ajax.js">
  6. function test(variable){
  7. alert(variable);
  8. }
  9. </head>
  10.  
  11. <input type="text" id="id">
  12. <input type="button" onclick="test('pagina.php?id='+document.getElementById('id').value)" value="Submit">
  13. </body>
  14. </html>
Offline BramBo - 22/08/2007 15:40
Avatar van BramBo JS gevorderde in Firefox/Opera heb je een javascript error console (Tools->error console)
Offline Milannetjuhh - 22/08/2007 15:44
Avatar van Milannetjuhh Nieuw lid nee, geen errors daarin...

hier m'n script nu...
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Untitled Document</title>
  5. <script type="text/javascript" src="ajax.js">
  6. function test(variable){
  7. alert(variable);
  8. }
  9. </head>
  10.  
  11. <input type="text" id="id">
  12. <input type="button" onclick="test('pagina.php?id='+document.getElementById('id').value)" value="Submit">
  13. </body>
  14. </html>
Offline BramBo - 22/08/2007 15:51
Avatar van BramBo JS gevorderde Ten eerste kan een script element met een src geen inline code meer hebben. Dus voor de functie test dien je een nieuw script element aan te maken.

Verder heeft je Ajax functie 3 parameters nodig (url, id, img_id).
Offline Milannetjuhh - 22/08/2007 15:59
Avatar van Milannetjuhh Nieuw lid In de ajax.js heb ik: ", img_id" weggehaald, en dit is het html script, maar werkt nog steeds niet:(

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  4. <title>Untitled Document</title>
  5. <script type="text/javascript" src="ajax.js"></script>
  6. </head>
  7.  
  8. <input type="text" id="id">
  9. <input type="button" onclick="ajax('pagina.php?id='+document.getElementById('id').value, 'txt')" value="Submit">
  10. <div id="txt"></div>
  11. </body>
  12. </html>
Offline BramBo - 22/08/2007 16:05 (laatste wijziging 22/08/2007 16:08)
Avatar van BramBo JS gevorderde Heb het zelf even geprobeerd, 3x n vermelding naar imd_id verwijderd in je functie AJAX.
Check nogmaals je error console.
  1. Error: uncaught exception: [Exception... "Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIXMLHttpRequest.send]" nsresult: "0x80520012 (NS_ERROR_FILE_NOT_FOUND)" location: "JS frame :: javascript: eval(__firebugTemp__); :: anonymous :: line 1" data: no]


/\ Logisch want bij mij bestaat het bestand niet.
als ik boven xmlHttp.open("GET", url, true); een alert doe (alert(url);) krijg ik de juiste url.


edit: om even mijn eigen drift naar correctie door te drukken:
ik zag in je javascript dat je functie ajax niet altijd een return waarde heeft. (gebruik er geen of altijd minimaal 1). en verder heb je xmlHttp niet geinitialiseerd (var xmlHttp;)
Offline Milannetjuhh - 22/08/2007 16:17
Avatar van Milannetjuhh Nieuw lid Thanx man!

ik heb nu beetje aan zitte kloten en het is gelukt:D
100% bedankt:D:D:D!!!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.24s