471,316 Members | 1,496 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,316 software developers and data experts.

return value from a function calles inside submit()

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
Jul 23 '05 #1
7 1849
sindre <si******@c2i.net> wrote in message news:<opsaf5i9rcxg0aby@xn--sindres_brbare-8ib>...
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


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
Jul 23 '05 #2
sindre <si******@c2i.net> wrote in message news:<opsaf5i9rcxg0aby@xn--sindres_brbare-8ib>...
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>.
....

you can try:

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


cheers,
mortb
Jul 23 '05 #3
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>


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
Jul 23 '05 #4
sindre <si******@c2i.net> wrote in message news:<opsahzcwnbxg0aby@xn--sindres_brbare-8ib>...
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>


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


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
Jul 23 '05 #5
!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


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/
Jul 23 '05 #6
sindre wrote:
!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
Sorry,
But It did not work. I used cut and paste the whole section. None of the
links worked here:-)

Sindre


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;"Delete?</p>
&lt;DIV>:
<div
onclick="confirm_delete(document.forms['delete1']);"
style="cursor:pointer;"Delete?</div>
<br>

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

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


<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 <gw*****@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
Jul 23 '05 #7
Grant Wagner wrote:
If you copied and pasted it verbatim, then the call to "confirm()" probably wrapped, which would
have resulted in a syntax error.

| Grant Wagner <gw*****@agricoreunited.com>


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.
Jul 23 '05 #8

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

4 posts views Thread by Roger Withnell | last post: by
1 post views Thread by Piotr | last post: by
12 posts views Thread by Mike Brashars | last post: by
4 posts views Thread by ACaunter | last post: by
5 posts views Thread by siaj | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.