【问题标题】:splitting values and putting it in a text box in AS3拆分值并将其放入 AS3 中的文本框中
【发布时间】:2011-07-24 10:43:01
【问题描述】:

我在一个文本框中输入一组 4 个值,然后使用以下代码在其他 4 个小文本框中以拆分方式显示它:

array.push(Number(t1.text));
array.push(Number(t2.text));
array.push(Number(t3.text));
array.push(Number(t4.text));

b2.addEventListener(MouseEvent.CLICK, act2);
//ACTION OF THE THE FIRST BUTTON CLICK
function act1(event:MouseEvent):Array 
{
    var input:String = tt.text;
    array = input.split(" ");
    t1.text=array[0];
    t2.text=array[1];
    t3.text=array[2];
    t4.text=array[3];
}

但现在我需要知道如何对输入的任何动态值执行相同的操作。

假设我有一个文本框 tt1 和一个按钮 b1。当我输入任何值(比如 6)时,会创建这个数量的文本框(6 个名称为 t0、t1....t5 的新文本框)

我有另一个文本框 tt2 和一个按钮 b2。当我在其中输入一组值(例如 10、66、33、45、2、4)时,我需要将这些值显示在这些文本框 t0、t1、t2 中。

这可能吗?

【问题讨论】:

    标签: actionscript-3 adobe-flash-cs3


    【解决方案1】:

    这个 sn-p 将创建您的文本字段

    // this will hold our new textfields
    var textfields:Array = new Array();
    
    function handleCreateFields(e:Event):void {
        // assuming your textfield for the number of fields to be created 
        // is named tfNumfields
        var count:int = parseInt(tfNumfields.text);
    
        for( var i:int = 0; i < count; i++){
            var tf:TextField = new TextField();
            tf.x = 100;
            tf.y = 100 + i * 30;
            addChild(tf);
        }
    }
    

    这个 sn-p 会将您的文本字段的内容拆分为多个文本字段

    function handleCreateFields(e:Event):void {
        // assuming your textfield for the values is named tfValues
        var values:Array = tfValues.split(" ");
    
        for( var i:int = 0; i < textfields.length && i < values.length; i++){
            textfields[i].text = values[i];
        }
    }
    

    【讨论】:

      【解决方案2】:

      有可能:

      b1.addEventListener(MouseEvent.CLICK, createTextFields);
      b2.addEventListener(MouseEvent.CLICK, showValues);
      
      var textFields:Array = [];
      
      function createTextFields(event:MouseEvent):void
      {
          var quantity:uint = uint(tt1.text);
          for (var i:int = 0; i < quantity; i++)
              textFields.push(createTextField(i));
      }
      function showValues(event:MouseEvent):void
      {
          const SEPARATOR:String = " ";  // or "," or whatsoever
          var values:Array = tt2.text.split(SEPARATOR);
          for (var i:int = 0; i < values.length; i++)
              textFields[i].text = values[i];
      }
      function createTextField(i:int):TextField
      {
          // create the text field and add it to the stage if you want
      }
      

      我建议您检查输入的值的数量是否是您刚刚创建的文本字段的数量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-12
        • 1970-01-01
        • 1970-01-01
        • 2023-01-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多