Toon posts:

[Javascript]Form refreshen na de value is veranderd

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik zit met de volgende situatie:

In een aangespaste versie van SquirrelMail heb ik een eigen adresboek erin gemaakt, die gekoppeld is aan een MySQL database.

Nu heb ik bij de compose de TO/CC/BCC tot links gemaakt die een ander bestand aanroept in een nieuwe window. Daarin komen alle bekende email adressen.

Met een selectievakje voor het adres kan je aangeven of je deze wil toevoegen aan de (bijv) to: regel.

Ik heb aan het selectievakje het bijbehorende email adres als value opgegeven, zodat het meteen kan worden ingevuld. Ik kan ook het adres doorgeven aan het vorige scherm met window.opener.addAddress(email)

In compose.php zit dan ook de javascript functie addAddress():
code:
1
2
3
4
5
6
7
8
9
<script language=javascript>
function setAddress(value, to){

var form="document.compose.send_"+to;
var veld="send_"+to;
form.value = value;
form = form.value;
}
</script>


de to variabels heeft te maken met het bijbehorende veld, dus als je op to klikt zal hij het bij de send_to input invullen.

Dit is de functie in addrbook_popup.php:

code:
1
2
3
4
5
6
7
8
9
10
11
function setAddress(){
var checkBox = getSelectedCheckbox(document.pemails.MyCheckBox);
var value = getSelectedCheckboxValue(document.pemails.MyCheckBox);
var to = '<?php echo $send; ?>';
if (checkBox.length == 0) {
    alert("Please select an address to add to your email");
}else{
    window.opener.setAddress(value, to);
    window.close();
}
}



Het probleem is nu dat ik de ingevulde value in compose.php niet kan zien.
Ik zie geen fouten als de functie klaar is, maar de textveld bij to blijft leeg.

Is er een functie of zo, in javascript waar dat mee gebeurd?

  • André
  • Registratie: Maart 2002
  • Laatst online: 00:33

André

Analytics dude

In compose.php:
JavaScript:
1
2
3
4
function setAddress(waarde, toe)
{
  document.forms["compose"].elements["send_"+toe].value = waarde;
}

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Verwijderd schreef op 29 april 2004 @ 13:33:
code:
1
2
3
4
5
6
7
8
9
<script language=javascript>
function setAddress(value, to){

var form="document.compose.send_"+to;
var veld="send_"+to;
form.value = value;
form = form.value;
}
</script>
zou je die functie niet ff netter doen

JavaScript:
1
2
3
4
5
function setAddress(value, to){
  var formfield = document.forms['compose'].elements['send_'+to];
  
  formfield.value = formfield.value + value;
}

waarbij ik me afvraag of value misschien een reserved waarde is...
code:
1
2
3
4
5
6
7
8
9
10
11
function setAddress(){
var checkBox = getSelectedCheckbox(document.pemails.MyCheckBox);
var value = getSelectedCheckboxValue(document.pemails.MyCheckBox);
var to = '<?php echo $send; ?>';
if (checkBox.length == 0) {
    alert("Please select an address to add to your email");
}else{
    window.opener.setAddress(value, to);
    window.close();
}
}
voor de rest is het misschien een idee om door alle textboxes heen te loopen ff een loopje te maken waarin je al je checkboxes vergelijkt... per checkbox roep je dan setAddress aan...

[ Voor 6% gewijzigd door faabman op 29-04-2004 13:46 ]

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Verwijderd

Topicstarter
André schreef op 29 april 2004 @ 13:44:
In compose.php:
JavaScript:
1
2
3
4
function setAddress(waarde, toe)
{
  document.forms["compose"].elements["send_"+toe].value = waarde;
}
Bedankt voor de code...nu doet hij het _/-\o_