2009-02-07 3 views
0

У меня есть две формы.Запись из одной формы в другую

Форма A имеет три ввода текста; A1, A2, A3. Форма B имеет один текстовый ввод, B1.

Всякий раз, когда вы вводите какой-либо входной сигнал формы A, форма B должна быть обновлена ​​сразу же со всеми тремя входами из формы A. Если один из входов формы A пуст, то 0 должен заменить его в B1 ,

Например, если я набираю «тест» в A1 и оставляю A2 и A3 пустым, B1 должен отражать: test + 0 + 0. Если я набираю «тест» в A1 и «help» в A2 и оставляю A3 пустым, тогда B1 должен отражать: test + help + 0

Может ли кто-нибудь помочь с этим? У меня очень ограниченный опыт работы с Javascript, поэтому я даже не уверен, как искать такие аспекты этой функции. Может ли кто-нибудь указать мне в правильном направлении?

ответ

1

начала, используя 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; 
} 

Это предполагает, что идентификатор элемента являются A1, A2, A3 и B. Bind эту функцию к 'OnChange' случае А1, А2 и А3.

2

Добавить метод события onChange для каждого входа в форме A, например: 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; 
} 

Пожалуйста, укажите любые ошибки/улучшения, как я родственник JS новичку сам :)

Смежные вопросы