2009-02-07 2 views
0

J'ai deux formes.Écrire d'une forme à l'autre

Le formulaire A a trois entrées de texte; A1, A2, A3. Le formulaire B a une entrée de texte, B1. Chaque fois que vous saisissez l'une des entrées du formulaire A, le formulaire B doit être immédiatement mis à jour avec les trois entrées du formulaire A. Si l'une des entrées du formulaire A est vide, un 0 doit la remplacer dans B1. . Par exemple, si je tape "test" dans A1 et que A2 et A3 sont vides, B1 devrait refléter: test + 0 + 0. Si je tape "test" dans A1 et "help" dans A2, et laissez A3 vide, alors B1 devrait refléter: test + help + 0

Quelqu'un peut-il vous aider? J'ai une expérience très limitée avec Javascript, donc je ne suis même pas sûr de savoir comment rechercher de tels aspects de cette fonctionnalité. Quelqu'un peut me diriger dans la bonne direction?

Répondre

1

Un début, en utilisant prototype.js

function build_b() { 
    var str = ""; 
    str += "A1=" + ($F('A1') == ''? '0' : $F('A1')); 
    str += "A2=" + ($F('A2') == ''? '0' : $F('A2')); 
    str += "A2=" + ($F('A3') == ''? '0' : $F('A3')); 
    $('B').value = str; 
} 

Cela suppose que les éléments identifiants sont A1, A2, A3 et B. Bind cette fonction à l'événement 'onchange' de A1, A2 et A3.

2

Ajoutez une méthode à l'événement onChange de chaque entrée du formulaire A, par exemple: onChange = populateBField();

Function populateBField(){ 
document.formB.B1.value = getFieldContents("A1") + "+" + getFieldContents("A2") 
+ "+" + getFieldContents("A3"); 
} 

function getFieldContents(fieldName){ 
    var fieldValue = document.formA.fieldName.value; 
    // if no value is entered, set to 0 
    if (fieldValue.length < 1){ 
     fieldValue = 0; 
    } 
    return fieldValue; 
} 

S'il vous plaît signaler des erreurs/améliorations que je suis un JS par rapport moi-même :) débutant