【问题标题】:Writing from one form to another从一种形式写到另一种形式
【发布时间】:2010-10-06 04:36:16
【问题描述】:

我有两种形式。

Form A 有三个文本输入; A1、A2、A3。表单 B 有一个文本输入 B1。

每当您在表格 A 上输入任何输入时,表格 B 应立即更新为来自表格 A 的所有三个输入。如果表格 A 输入之一为空,则应在 B1 中替换为 0。

例如,如果我在 A1 中键​​入“test”并将 A2 和 A3 留空,则 B1 应反映:test+0+0。如果我在 A1 中输入“test”,在 A2 中输入“help”,并将 A3 留空,那么 B1 应该反映:test+help+0

有人可以帮忙吗?我在 Javascript 方面的经验非常有限,所以我什至不确定如何搜索此功能的这些方面。有人能指出我正确的方向吗?

【问题讨论】:

    标签: javascript text webforms input


    【解决方案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;
    }
    

    这假定元素 ID 是 A1、A2、A3 和 B。 将此函数绑定到 A1、A2 和 A3 的 'onchange' 事件。

    【讨论】:

      【解决方案2】:

      在A表单的每个输入的onChange事件中添加方法如: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 新手 :)

      【讨论】:

        猜你喜欢
        • 2011-03-09
        • 1970-01-01
        • 2015-06-23
        • 2015-06-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多