Connecting Tech Pros Worldwide Help | Site Map

return value from a function calles inside submit()

sindre
Guest
 
Posts: n/a
#1: Jul 23 '05
Hi,

Some place I use links to submit forms instead of a submit button. The
way I have done this is: <a
href="javascript:document.getElementById('<?php print "delete$i"
;?>').submit()>Delete?</a>.
This method worked perfectly fine. But then I also wanted to add a confirm
box to the user where. A confirm("do you really want to delete?").
So I made the function:
function controll()
{
if(confirm("Do you really want to delete?"))
{
return (true);
}
else
{
return (false);
}
}
And tried to call the function from inside the submit() like
<a href="javascript:document.getElementById('<?php print "delete$i"
;?>').submit(controll())>Delete?</a>.
This also works fine, but then I have to return the return value. So i
tried
<a href="javascript:document.getElementById('<?php print "delete$i"
;?>').submit(return controll())>Delete?</a>.
And that does not work.
It does work inside the onSubmit="..." then.
So My question is: How could I both use a link inside a form and give the
user the opportunity to regret the choice?


Sindre
Michael
Guest
 
Posts: n/a
#2: Jul 23 '05

re: return value from a function calles inside submit()


sindre <sindrehi@c2i.net> wrote in message news:<opsaf5i9rcxg0aby@xn--sindres_brbare-8ib>...[color=blue]
> Hi,
>
> Some place I use links to submit forms instead of a submit button. The
> way I have done this is: <a
> href="javascript:document.getElementById('<?php print "delete$i"
> ;?>').submit()>Delete?</a>.
> This method worked perfectly fine. But then I also wanted to add a confirm
> box to the user where. A confirm("do you really want to delete?").
> So I made the function:
> function controll()
> {
> if(confirm("Do you really want to delete?"))
> {
> return (true);
> }
> else
> {
> return (false);
> }
> }
> And tried to call the function from inside the submit() like
> <a href="javascript:document.getElementById('<?php print "delete$i"
> ;?>').submit(controll())>Delete?</a>.
> This also works fine, but then I have to return the return value. So i
> tried
> <a href="javascript:document.getElementById('<?php print "delete$i"
> ;?>').submit(return controll())>Delete?</a>.
> And that does not work.
> It does work inside the onSubmit="..." then.
> So My question is: How could I both use a link inside a form and give the
> user the opportunity to regret the choice?
>
>
> Sindre[/color]

Hi Sindre,

Why don't you just use a <p> or <span> or <div> for your link?
I'd do it this way:

<script type="text/javascript">
function conditional_submit (myForm) {
if(confirm("Do you really want to delete?")) {
document.myForm.submit();
} else {
//nothing to do
}
}
</script>

<p onclick="conditional_submit(document.getElementByI d('<?php print
"delete$i";?>')">Delete?</p>

I didn't test it, but I hope it works. You could combine it with an
image too.
HTH

cu, Michael
mortb
Guest
 
Posts: n/a
#3: Jul 23 '05

re: return value from a function calles inside submit()


sindre <sindrehi@c2i.net> wrote in message news:<opsaf5i9rcxg0aby@xn--sindres_brbare-8ib>...[color=blue]
> Hi,
>
> Some place I use links to submit forms instead of a submit button. The
> way I have done this is: <a
> href="javascript:document.getElementById('<?php print "delete$i"
> ;?>').submit()>Delete?</a>.
>[/color]
....

you can try:

href="javascript:if(confirm('Do you really want to
delete?'))document.getElementById('<?php print "delete$i"[color=blue]
> ;?>').submit()">Delete</a>[/color]

cheers,
mortb
sindre
Guest
 
Posts: n/a
#4: Jul 23 '05

re: return value from a function calles inside submit()


[color=blue]
> Why don't you just use a <p> or <span> or <div> for your link?
> I'd do it this way:
>
> <script type="text/javascript">
> function conditional_submit (myForm) {
> if(confirm("Do you really want to delete?")) {
> document.myForm.submit();
> } else {
> //nothing to do
> }
> }
> </script>
>
> <p onclick="conditional_submit(document.getElementByI d('<?php print
> "delete$i";?>')">Delete?</p>
>[/color]

Actually it dont. Firstly onclick in div, p og span is not supported by
netscape 6.x. But it wont work either in opera or explorer. Nothing
happens when i move the mouse over the "link" and nothing happens when i
click the word.

Sindre
Michael
Guest
 
Posts: n/a
#5: Jul 23 '05

re: return value from a function calles inside submit()


sindre <sindrehi@c2i.net> wrote in message news:<opsahzcwnbxg0aby@xn--sindres_brbare-8ib>...[color=blue][color=green]
> > Why don't you just use a <p> or <span> or <div> for your link?
> > I'd do it this way:
> >
> > <script type="text/javascript">
> > function conditional_submit (myForm) {
> > if(confirm("Do you really want to delete?")) {
> > document.myForm.submit();
> > } else {[/color]
> //nothing to do[color=green]
> > }
> > }
> > </script>
> >
> > <p onclick="conditional_submit(document.getElementByI d('<?php print
> > "delete$i";?>')">Delete?</p>
> >[/color]
>
> Actually it dont. Firstly onclick in div, p og span is not supported by
> netscape 6.x. But it wont work either in opera or explorer. Nothing
> happens when i move the mouse over the "link" and nothing happens when i
> click the word.
>
> Sindre[/color]

Sorry, my mistake. I forgot a closing bracket and it should be
myForm.submit(); instead of document.myForm.submit().

Here is an complete example-page, that workes out in Mozilla 1.7,
Netscape 6.2 and IE 6. It does not work in NS 4.75, because this one
does not jet support getElementById. I substituted '<?php print
"delete$i";?>' with 'delete1' in my example. As mortb wrote, you can
place the code of the function in the onclick event directly, depends
on how many forms you have in your page. You could also just send the
name(text!) of the form to the function like
onclick="conditional_submit('delete1');", then, depending on the
browser you could use document.getElementsByName,
document.getElementById or even document.all to get your form-object.

!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>tests</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-15">

<script type="text/javascript">
function conditional_submit (myForm) { if(confirm("Do you really want
to delete?")) myForm.submit() }
</script>

<body>

<p onclick="conditional_submit(document.getElementByI d('delete1'))"
style="cursor:pointer">Delete?</p>
<br>
<div onclick="conditional_submit(document.getElementByI d('delete1'))"
style="cursor:pointer">Delete?</div>
<br>
<span onclick="conditional_submit(document.getElementByI d('delete1'))"
style="cursor:pointer">Delete?</span>
<br><br>
<a href="#" onclick="conditional_submit(document.getElementByI d('delete1'));return(false);">Delete?</a>
<br><br>
<a href=javascript:conditional_submit(document.getEle mentById('delete1'));>Delete?</a>
<br><br><form name="delete1" id="delete1" action="if1.html"
method="get" target="_self">
<input type="text" size="20" maxlength="30" name="myText">

</form>

</body>
</html>

Recommendation: Use CSS to format the links

cu, Michael
sindre
Guest
 
Posts: n/a
#6: Jul 23 '05

re: return value from a function calles inside submit()


[color=blue]
> !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
> <html>
> <head>
> <title>tests</title>
> <meta http-equiv="Content-Type" content="text/html;
> charset=iso-8859-15">
>
> <script type="text/javascript">
> function conditional_submit (myForm) { if(confirm("Do you really want
> to delete?")) myForm.submit() }
> </script>
>
> <body>
>
> <p onclick="conditional_submit(document.getElementByI d('delete1'))"
> style="cursor:pointer">Delete?</p>
> <br>
> <div onclick="conditional_submit(document.getElementByI d('delete1'))"
> style="cursor:pointer">Delete?</div>
> <br>
> <span onclick="conditional_submit(document.getElementByI d('delete1'))"
> style="cursor:pointer">Delete?</span>
> <br><br>
> <a href="#"
> onclick="conditional_submit(document.getElementByI d('delete1'));return(false);">Delete?</a>
> <br><br>
> <a
> href=javascript:conditional_submit(document.getEle mentById('delete1'));>Delete?</a>
> <br><br><form name="delete1" id="delete1" action="if1.html"
> method="get" target="_self">
> <input type="text" size="20" maxlength="30" name="myText">
>
> </form>
>
> </body>
> </html>
>
> Recommendation: Use CSS to format the links
>
> cu, Michael[/color]

Sorry,
But It did not work. I used cut and paste the whole section. None of the
links worked here:-)

Sindre

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Grant Wagner
Guest
 
Posts: n/a
#7: Jul 23 '05

re: return value from a function calles inside submit()


sindre wrote:
[color=blue][color=green]
> > !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
> > <html>
> > <head>
> > <title>tests</title>
> > <meta http-equiv="Content-Type" content="text/html;
> > charset=iso-8859-15">
> >
> > <script type="text/javascript">
> > function conditional_submit (myForm) { if(confirm("Do you really want
> > to delete?")) myForm.submit() }
> > </script>
> >
> > <body>
> >
> > <p onclick="conditional_submit(document.getElementByI d('delete1'))"
> > style="cursor:pointer">Delete?</p>
> > <br>
> > <div onclick="conditional_submit(document.getElementByI d('delete1'))"
> > style="cursor:pointer">Delete?</div>
> > <br>
> > <span onclick="conditional_submit(document.getElementByI d('delete1'))"
> > style="cursor:pointer">Delete?</span>
> > <br><br>
> > <a href="#"
> > onclick="conditional_submit(document.getElementByI d('delete1'));return(false);">Delete?</a>
> > <br><br>
> > <a
> > href=javascript:conditional_submit(document.getEle mentById('delete1'));>Delete?</a>
> > <br><br><form name="delete1" id="delete1" action="if1.html"
> > method="get" target="_self">
> > <input type="text" size="20" maxlength="30" name="myText">
> >
> > </form>
> >
> > </body>
> > </html>
> >
> > Recommendation: Use CSS to format the links
> >
> > cu, Michael[/color]
>
> Sorry,
> But It did not work. I used cut and paste the whole section. None of the
> links worked here:-)
>
> Sindre[/color]

If you copied and pasted it verbatim, then the call to "confirm()" probably wrapped, which would
have resulted in a syntax error.

I just tested the code (after cleaning it up a bit) and it works fine:

<html>
<head>
<script type="text/javascript">
function confirm_delete(theForm) {
// DO NOT LET THE NEXT LINE WRAP
if (confirm("Do you really want to delete?")) {
theForm.submit();
}
}
</script>
</head>
<body>

&lt;P>:
<p
onclick="confirm_delete(document.forms['delete1']);"
style="cursor:pointer;"[color=blue]
>Delete?</p>[/color]

&lt;DIV>:
<div
onclick="confirm_delete(document.forms['delete1']);"
style="cursor:pointer;"[color=blue]
>Delete?</div>[/color]

<br>

&lt;SPAN>:
<span
onclick="confirm_delete(document.forms['delete1']);"
style="cursor:pointer;"[color=blue]
>Delete?</span>[/color]

<br>
<br>

&lt;A>:
<a
href="#"
onclick="
confirm_delete(document.forms['delete1']);
return false;
"[color=blue]
>Delete?</a>[/color]

<br><br>

<form name="delete1" action="action.cgi" method="get">
<input type="text" size="20" name="myText">
</form>
</body>
</html>

Everything is split across multiple lines to try make it clearer and to try to avoid
inappropriate line breaks caused by your news reader software.

--
| Grant Wagner <gwagner@agricoreunited.com>

* Client-side Javascript and Netscape 4 DOM Reference available at:
* http://devedge.netscape.com/library/...ce/frames.html
* Internet Explorer DOM Reference available at:
* http://msdn.microsoft.com/workshop/a...ence_entry.asp
* Netscape 6/7 DOM Reference available at:
* http://www.mozilla.org/docs/dom/domref/
* Tips for upgrading JavaScript for Netscape 7 / Mozilla
* http://www.mozilla.org/docs/web-deve...upgrade_2.html


Michael Schmitt
Guest
 
Posts: n/a
#8: Jul 23 '05

re: return value from a function calles inside submit()


Grant Wagner wrote:
[color=blue]
> If you copied and pasted it verbatim, then the call to "confirm()" probably wrapped, which would
> have resulted in a syntax error.
>
> | Grant Wagner <gwagner@agricoreunited.com>[/color]

I used the Web-Interface of google, which is breaking the lines. I
changed to my mail/news client, so this should not happen anymore.
Closed Thread


Similar JavaScript / Ajax / DHTML bytes