custom text on 'confirm' popup buttons

D

dzeeq

Hi,
I wonder if it's possible to replace standard text on confirm-popup
buttons from 'ok' and 'cancel' to some other captions.
If not, is there a way to create quickly custom dialog, with only two
buttons, returning 'true' or 'false'? Would I have to use forms to
return value from my custom dialog?
Thanx for any help.
 
M

Michael Winter

on 13/11/2003:
Hi,
I wonder if it's possible to replace standard text on confirm-popup
buttons from 'ok' and 'cancel' to some other captions.
If not, is there a way to create quickly custom dialog, with only two
buttons, returning 'true' or 'false'? Would I have to use forms to
return value from my custom dialog?
Thanx for any help.

If there is, it's either new (beyond v1.3 - I haven't caught up with
DOM yet), or browser-specific. You could use window.open to load a
small HTML page with two images, then set a global variable, or call a
function (better, so you don't have to poll), in the parent window.
Dirty, I know, but simple.

Mike
 
L

Lasse Reichstein Nielsen

I wonder if it's possible to replace standard text on confirm-popup
buttons from 'ok' and 'cancel' to some other captions.

It isn't.
If not, is there a way to create quickly custom dialog, with only two
buttons, returning 'true' or 'false'? Would I have to use forms to
return value from my custom dialog?

There are plenty, they just won't be modal (i.e., prevent you from
using the page while being shown). That also means that you can't
simply call it as a function that returns the user's choice. You will
have to get the answer from the click event instead.

The simplest is to have a <div> with two buttons, and show it when
needed. Something like:
---
<style type="text/css">
#confirmBox {
width:10em;
height:5em;
position:absolute;
z-index:1;
visibility:hidden;
background:blue;
color:white;
border:6px double white;
text-align:center;
}
</style>
<script type="text/javascript">
var answerFunction;
function myConfirm(text,button1,button2,answerFunc) {
var box = document.getElementById("confirmBox");
box.getElementsByTagName("p")[0].firstChild.nodeValue = text;
var button = box.getElementsByTagName("input");
button[0].value=button1;
button[1].value=button2;
answerFunction = answerFunc;
box.style.visibility="visible";
}
function answer(response) {
document.getElementById("confirmBox").style.visibility="hidden";
answerFunction(response);
}
</script>
...
<div id="confirmBox">
<p>Continue?</p>
<p><input type="button" onclick="answer(true)" value="Ok">
<input type="button" onclick="answer(false)" value="Cancel"></p>
</div>


<script type="text/javascript">
function tester(button) {
myConfirm("Say Aye or Nay!","Aye","Nay",
function(answer) {
button.value="Last answer was: "+(answer?"Aye":"Nay");
});
}
</script>
<input type="button" value="Answer me!" onclick="tester(this)">
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top