<a href="javascript:window.open()">klik</a> ?quote:Op vrijdag 13 oktober 2006 14:19 schreef Desdinova het volgende:
is het mogelijk om een window.open in een href="" te zetten zonder dat er gebruik gemaakt hoeft te worden van javascript om de href aktie te cancellen? want nu opent hij de pagina wel, maar gaat hij op de oorspronkelijke pagina ook naar een pagina, met als url de javascript code..
Dat geeft dus precies het probleem waar Desdinova het over hadquote:Op vrijdag 13 oktober 2006 22:35 schreef CraZaay het volgende:
[..]
<a href="javascript:window.open()">klik</a> ?
Je hebt helemaal gelijk.quote:Op vrijdag 13 oktober 2006 23:13 schreef SuperRembo het volgende:
[..]
Dat geeft dus precies het probleem waar Desdinova het over had![]()
Maar als je achter een link geen link stopt maar javascript, gebruik dan gewoon geen link!
Waarom laat je PHP niet automatisch je javascript code genereren?quote:Op maandag 30 oktober 2006 12:39 schreef Hmail het volgende:
kickje
Is er in javascript ook een variant van de php's $_SERVER['REQUEST_URI']? REQUEST_URI geeft de pagina weer die er bezocht word, dus als ik deze url aanroep: http://cafs009/sd/dev/test.php?test=blaat dan is $_SERVER['REQUEST_URI']: /sd/dev/test.php?test=blaat. Dat is handig, want ook als ik achter test=blaat #20 neerzet, is de REQUEST_URI nog steeds hetzelfde. Misschien handig om even uit te leggen wat ik precies wil
In een pagina roep ik een functie aan die een extra stukje (een invoerscherm) aan de htmlpagina toevoegd. Als ik dus de link voor een nieuw invoerscherm aanklik komt dat scherm erbij, en springt de pagina via window.location door naar dat invoerscherm: #newreact. Echter, als ik die link nog een keer aanklik komt er dus achter de url (waar al #newreact in staat), nogmaals #newreact te staan. Ik wil dus eigenlijk dat hij naar REQUEST_URI + #newreact springt. Via php is het lastiger om dit te realiseren omdat de javascript in een apart bestand staat. Dus dan mijn vraag: Kan ik die REQUEST_URI ook in javascript opvragen, of is er een andere methode om dit te doen?
quote:Op maandag 30 oktober 2006 12:39 schreef Hmail het volgende:
Via php is het lastiger om dit te realiseren omdat de javascript in een apart bestand staat. Dus dan mijn vraag:
Mja. window.location.href.substring(0, window.location.href.indexOf('#'));quote:Op maandag 30 oktober 2006 12:54 schreef Hmail het volgende:
Daar staat dus die #newreact nog achter, terwijl dat juist weggelaten moet worden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | // alert(document.getElementById('frmDoorsturen').elements[0].name + '=' + document.getElementById('frmDoorsturen').elements(0).value); str = document.getElementById('frmDoorsturen').elements[0].name + '=' + document.getElementById('frmDoorsturen').elements(0).value + '&'; str += document.getElementById('frmDoorsturen').elements[1].name + '=' + document.getElementById('frmDoorsturen').elements(1).value + '&'; str += document.getElementById('frmDoorsturen').elements[2].name + '=' + document.getElementById('frmDoorsturen').elements(2).value + '&'; str += document.getElementById('frmDoorsturen').elements[3].name + '=' + document.getElementById('frmDoorsturen').elements(3).value + '&'; str += document.getElementById('frmDoorsturen').elements[4].name + '=' + document.getElementById('frmDoorsturen').elements(4).value + '&'; str += document.getElementById('frmDoorsturen').elements[5].name + '=' + document.getElementById('frmDoorsturen').elements(5).value + '&'; str += document.getElementById('frmDoorsturen').elements[6].name + '=' + document.getElementById('frmDoorsturen').elements(6).value + '&'; str += document.getElementById('frmDoorsturen').elements[7].name + '=' + document.getElementById('frmDoorsturen').elements(7).value + '&'; str += document.getElementById('frmDoorsturen').elements[8].name + '=' + document.getElementById('frmDoorsturen').elements(8).value + '&'; str += document.getElementById('frmDoorsturen').elements[9].name + '=' + document.getElementById('frmDoorsturen').elements(9).value + '&'; str += document.getElementById('frmDoorsturen').elements[10].name + '=' + document.getElementById('frmDoorsturen').elements(10).value + '&'; str += 'vid' + '=' + id; //alert(str); } |
1 2 3 4 5 | var frm = document.forms['formname']; //formname is hetgeen staat in <form name="formname"> for(var i = 0; i < frm.elements.length; i++) { str += frm.elements[i].name + "=" + escape(frm.elements[i].value) + "&"; } |
Alleen dan natuurlijk met encodeURIComponent() inplaats van escape().quote:Op maandag 30 oktober 2006 15:09 schreef Roönaän het volgende:
Wat moet het doen dan? Heeft je frm daadwerkelijk een id, of alleen een name?
probeer eens met
[ code verwijderd ]
-r-
Een a href met correcte link en onclick via bijv document.getElementById().onClick = function () { window.open this.href ... is juist wel zo netjes, voor als er geen js beschikbaar is.quote:Op zaterdag 14 oktober 2006 00:02 schreef CraZaay het volgende:
Wat SuperRembo denk ik bedoelt is dat je er sowieso geen <a> voor zou moeten gebruiken, niet in de href en niet in de onclick
Waarom heb je precies window.open)( nodig en kan het niet met een normale href?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | function startCalc() { interval = setInterval("calc()",1); } function calc() { if (document.getElementById) { artikel1Aantal = document.getElementById('TextBoxartikelen1Aantal').value; artikel1Prijs = document.getElementById('TextBoxartikelen1Prijs').value; document.getElementById('TextBoxartikelen1PrijsTotaal').value = (artikel1Aantal * 1) * (artikel1Prijs * 1); artikel2Aantal = document.getElementById('TextBoxartikelen2Aantal').value; artikel2Prijs = document.getElementById('TextBoxartikelen2Prijs').value; document.getElementById('TextBoxartikelen2PrijsTotaal').value = (artikel2Aantal * 1) * (artikel2Prijs * 1); artikel3Aantal = document.getElementById('TextBoxartikelen3Aantal').value; artikel3Prijs = document.getElementById('TextBoxartikelen3Prijs').value; document.getElementById('TextBoxartikelen3PrijsTotaal').value = (artikel3Aantal * 1) * (artikel3Prijs * 1); uren1Aantal = document.getElementById('TextBoxuren1Aantal').value; uren1Prijs = document.getElementById('TextBoxuren1Prijs').value; document.getElementById('TextBoxuren1PrijsTotaal').value = (uren1Aantal * 1) * (uren1Prijs * 1); uren2Aantal = document.getElementById('TextBoxuren2Aantal').value; uren2Prijs = document.getElementById('TextBoxuren2Prijs').value; document.getElementById('TextBoxuren2PrijsTotaal').value = (uren2Aantal * 1) * (uren2Prijs * 1); uren3Aantal = document.getElementById('TextBoxuren3Aantal').value; uren3Prijs = document.getElementById('TextBoxuren3Prijs').value; document.getElementById('TextBoxuren3PrijsTotaal').value = (uren3Aantal * 1) * (uren3Prijs * 1); document.getElementById('TextBoxPrijsTotaal').value = (artikel1Aantal * 1) * (artikel1Prijs * 1) + (artikel2Aantal * 1) * (artikel2Prijs * 1) + (artikel3Aantal * 1) * (artikel3Prijs * 1) + (uren1Aantal * 1) * (uren1Prijs * 1); } } function stopCalc() { clearInterval(interval); } </script> |
1 2 3 4 5 6 7 8 9 10 11 12 13 | var field = document.getElementById(id); if (field) { var value = parseFloat(field.value); if (isNaN(value)) { return defaultValue; } else { return value; } } else { return defaultValue; } } |
Begrijp ik nou goed dat je je klanten zelf de uur en artikelprijs laat invullen ??quote:Op woensdag 8 november 2006 19:50 schreef Erik het volgende:
Ik heb hetvolgende script gevonden en aangepast zodat verschillende waardes bij elkaar worden opgeteld:
[ code verwijderd ]
Het werkt goed, er is alleen een probleem:
Zodra ik een html pagina maak waarbij 1 van de textboxen niet aanwezig is wil het script niet meer werken.
Hoe kan ik ervoor zorgen dat er in het script eerst wordt gekeken of een TextBox aanwezig is, en zo niet, het stukje code overgeslagen wordt?
Bedankt, ik ga het hiermee proberenquote:Op woensdag 8 november 2006 21:47 schreef ralfie het volgende:
je kunt de code van elk artikel apart in try/catch statements zetten
try{
//code die mss niet werkt
}
catch(e){
//indien een error, wordt dit outgevoerd. Als je dit leeg laat, gaat ie gewoon verder
}
Bedankt voor je tips, dat van die miliseconde ga ik meteen even anders instellen.quote:Op woensdag 8 november 2006 22:04 schreef SuperRembo het volgende:
Een try catch is een lompe "oplossing". Je kan gewoon controleren of een veld bestaat voordat je de value ervan opvraagt. Je zou een functie kunnen maken die de numerieke waarde van een veld geeft, of een standaard waarde als het veld niet bestaat.
[ code verwijderd ]
Je kan een soortgelijke functie maken om de waarde in een veld te zetten.
Net zo lomp is trouwens om elke milliseconde (!!!) die berekening uit te voeren. Zet dan ff wat eventhandlers op de onchange of onkeypress van de velden.
De klant? Hoe kom je hier bij?quote:Op donderdag 9 november 2006 08:41 schreef ChOas het volgende:
[..]
Begrijp ik nou goed dat je je klanten zelf de uur en artikelprijs laat invullen ??
Sorry, dacht dat het een customer frontend was.quote:
Het is niet de bedoeling dat de klant hier iets van te zien krijgt neequote:Op donderdag 9 november 2006 12:10 schreef ChOas het volgende:
[..]
Sorry, dacht dat het een customer frontend was.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | var thisarray = document.getElementsByName('forwardingtype'); if (debug){ alert('thisarray is set'); } } if (document.getElementsByName('forwardingmanual')){ var thisinnerarray = document.getElementsByName('forwardingmanual'); if (debug){ alert('thisinnerarray is set'); } } alert (typeof(thisarray)); if (thisarray){ if (debug){ alert('thisarray is set, commencing check'); } for (var i=0; i <= thisarray.length; i++){ if (debug){ alert('forloop thisarray started'); } if (debug){ alert(thisarray.length +' items in array'); } if (thisarray[i].value == 'manual'){ if (debug){ alert('thisarray.value = manual'); } if (thisinnerarray[i].value == ''){ if (debug){ alert('thisinnerarray value = '''); } return false; } } else { if (debug){ alert('thisarray.value = select'); } } } } |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |