|
|||||||
| JavaScript JavaScript (not Java) Discussion and technical support, including AJAX and frameworks (JQuery, MooTools, Prototype...) |
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Hello
I would like to call a function with parameters, i.e. multiply('2','3','box1'). In this example, the first argument would be multiplied with the second and written into the div with the id="box1". My question: How can I set a default value for the third argument? => so if I call multiply('2','3') then it should automatically set the output-variable to 'box1' if not other defined in the call. I'm sure that this is possible but I unfortunately can't find anything about default values neither in this forum nor with google... Thank you for the answers, saimen |
|
#2
|
||||
|
||||
|
Code:
<html>
<head>
<title>function default</title>
<script type="text/javascript">
function add(a, b, id) {
/* Here I set default values */
if(!a) a=0;
if(!b) b=0;
if(!this.id) id="di1";
/* End of default values */
if(document.getElementById(id).childNodes.length==0) document.getElementById(id).appendChild(document.createTextNode(""));
document.getElementById(id).firstChild.data=(a+b);
}
</script>
</head>
<body onload="add(1);">
<div id="di1"></div>
</body>
</html>
|
|
#3
|
|||
|
|||
|
Hello
Thank you for your answer. I've tried to apply it for my function. There is good news and bad news for me: good news: if targetDiv is not set, then it sets the value to "calendar". that's nice :o) bad news: if targetDiv is set, it overwrites the value with "calendar". => I've used the alerts to give out the values before and after the default settings... Maybe I'm making something wrong?! Code:
function ShowCalendar(dateValue, sourceField, targetDiv) {
//alert("Funktion ShowCalendar, Variable dateValue: "+dateValue);
//set default variables for targetDiv
alert("Funktion ShowCalendar, Variable targetDiv: "+targetDiv);
if(!this.targetDiv) targetDiv="calendar";
alert("Funktion ShowCalendar, Variable targetDiv: "+targetDiv);
|
|
#4
|
|||
|
|||
|
how are you calling this function? what are you passing to it?
|
|
#5
|
|||
|
|||
|
The function ShowCalendar(dateValue, sourceField, targetDiv) is called from a link in html:
Code:
<a href="#" onclick="ShowCalendar(document.forms['formular1'].elements['startdatum'].value, 'startdatum'); return false;"> <img src="calendar.gif" alt="" border="0" /> </a> dateValue: "2004-09-01" (or empty) sourceField: "startdatum" (never empty) targetDiv: "calendar2" (or empty) |
|
#6
|
|||
|
|||
|
remove the 'this.'
|
|
#7
|
||||
|
||||
|
Your function has 3 parameters, but you passed only 2 on event handler...
|
|
#8
|
|||
|
|||
|
You can't (well, at least shouldn't) use something like
Code:
if (!a) PHP's isset. I wish Javascript would just support function foobar($value = "default value") like in PHP... |
![]() |
| Bookmarks |
| Tags |
| default, function |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|