popup

Status
Niet open voor verdere reacties.

tchiloh

Gebruiker
Lid geworden
29 jan 2008
Berichten
65
Ik heb dit als popup:

HTML:
<HTML>
<HEAD>
<TITLE>Melding</TITLE>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1"> 
<link rel="stylesheet" href="WebDemo.css" type="text/css">
</HEAD>
<BODY class="BodyAttr" onLoad="javascript:alert('Wilt u de artikel aanmaken?');">
</BODY>
</HTML>

maar ik wil 2 buttons bij toevoegen. maar dat lukt mij niet.
weet iemand hoe ik ze derin krijg.
 
Alert is standaard een doosje met alleen een 'OK' knop :)

Wat jij zoekt is een Confirm, die geeft een doosje met een 'OK' en een 'Cancel' erop, en returnt true als de gebruiker op OK klikt en false als de gebruiker op Cancel klikt :)

HTML:
<BODY class="BodyAttr" onLoad="javascript:confirm('Wilt u de artikel aanmaken?');">
 
het werkt op de pc, maar niet op de pda.

dus als ik er buttons bij kan zetten, dan kan het denk ik wel werken.
 
het werkt op de pc, maar niet op de pda.

dus als ik er buttons bij kan zetten, dan kan het denk ik wel werken.
Zelf buttons erbij zetten kun je vergeten, er is geen manier om (behalve de tekst) de inhoud van een alert of confirmbox te beinvloeden, dus ook niet om buttons toe te voegen.
Om even verder te gaan op de confirmbox-manier:
Je kunt wel bepalen wat zo'n confirmbox doet als je op de knoppen drukt, en misschien zit hier de fout wel. Zie hieronder een voorbeeld:
HTML:
<html>
   <head>
      <script type="text/javascript">
         function waarschuwingsfunctie() {
            var respons = confirm('Wilt u de artikel aanmaken?');
            if(respons == true){      //Als er OK geklikt wordt
               document.write('<p>Artikel aangemaakt.</p>');
               //Doe nog wat andere dingen
               }
            else {      //Als er CANCEL geklikt wordt
               document.write('<p>Artikel <em>niet</em> aangemaakt.</p>');
               //Doe nog wat andere dingen
               }
         }
      </script>
   </head>
   <body onLoad="waarschuwingsfunctie();">
   </body>
</html>

Hier kun je als het goed is duidelijk zien wat er gebeurt als er OK of CANCEL geklikt wordt. Ook zou je nu niet zoveel moeite moeten hebben met het plaatsen van eigen code op de juiste plekken (wat moet er gebeuren als er OK of CANCEL geklikt wordt?).
Ik ben overigens niet zo'n fan van onLoad en andere event attributes, maar dat is weer een ander verhaal.

Ik hoop dat het geholpen heeft.

-H
 
Als je op deze manier document.write gebruikt, waar komt de tekst dan terecht? Niet waar je het hebben wilt waarschijnlijk. Of in de <head> of onder aan de pagina waarschijnlijk.
 
Waarschijnlijk ondersteunt de PDA ook maar heel beperkt javascript? Of valt dat tegenwoordig mee? Want Confirm is een hele standaard functie van javascript; die zou het gewoon moeten doen als je javascript aan hebt staan.
 
Als je op deze manier document.write gebruikt, waar komt de tekst dan terecht? Niet waar je het hebben wilt waarschijnlijk. Of in de <head> of onder aan de pagina waarschijnlijk.

Dit was alleen maar een voorbeeld van een javascript-actie die aangeroepen wordt als gevolg van een klik op een van de knoppen, het diende slechts ter verduidelijking van de achterliggende code.

Waarschijnlijk ondersteunt de PDA ook maar heel beperkt javascript? Of valt dat tegenwoordig mee? Want Confirm is een hele standaard functie van javascript; die zou het gewoon moeten doen als je javascript aan hebt staan.

Eerlijk gezegd denk ik dat men het probleem wat verder in die hoek moet zoeken. Ik kan me bijvoorbeeld best indenken dat javascript op PDA's wordt uitgeschakeld omdat je gemakkelijk het geheugen vol kan laten lopen door een javascript loop. Dit zou dan gelden voor vooral de oudere PDA's, want ik ook PDA's die dagelijks hele AJAX applicaties draaien.


@tchiloh: Misschien kun je controleren of toch niet toevallig javascript is uitgeschakeld op de betreffende PDA? Of misschien wil je nog een keer de complete code laten zien die je nu hebt?
 
Je kunt het wel met JS en HTML oplossen... maar dan moet je niet uit gaan van de standaard confirm van JS.

ik heb even een voorbeeldje gemaakt:

Code:
window.onload = function () {


	confirmBox = document.createElement('div');
	confirmBox.id = "confirmbox";
	
	
	var confirmText = document.createElement('p');
	confirmText.innerHTML = "Wil je confirmen";
	
	var okButton = document.createElement('input');
	okButton.type = "button";
	okButton.id = "okButton";
	okButton.value = "ok";
	
	okButton.onclick = function () {
		confirmBox.parentNode.removeChild(confirmBox);
		alert('you clicked ok');
	}
	
	var cancelButton = document.createElement('input');
	cancelButton.type = "button";
	cancelButton.id = "cancelButton";
	cancelButton.value = "cancel";
	
	cancelButton.onclick = function () {
		confirmBox.parentNode.removeChild(confirmBox);
		alert('you clicked cancel');
	}

	confirmBox.appendChild(confirmText);
	confirmBox.appendChild(okButton);
	confirmBox.appendChild(cancelButton);
	
	document.body.appendChild(confirmBox);

}

Misschien dat dit voor je werkt.

Ik heb de div en buttons een id gegeven zodat je ze eventueel kunt positioneren en stylen met CSS
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan