-5

皆さん、今晩は、

私は小さなプログラムを構築するためにしばらく検索して試してきました.ユーザーに不明な量の数値を入力してもらいたい(彼は好きなだけ入力できます).それらから配列を作成したい.インターネット上のどこでも多くの「input type="text"....」ボックスを使用し続けていますが、ユーザーがいくつ入力するかはわかりません。ページを更新し続けたくないので、可能であればすべての数字を一度に同じページまたは別のページに送信し、それらから配列を作成して、それに基づく関数を使用してプログラムを完成させたいと思います配列。

編集:私は最初に<form action="process.php" method=POST> insert values here: <input type="number" name=num><br> <input type="submit" value="send"> </form>

その後何をすべきかわからなかったので、ファイルについて読んでこのコードを使用しましたが、うまくいきました。jqueryを使って答えてくれたメンバーに感謝しますが、私はまだJavaを学んでいないので、今は本当に使えませんでした。私は昨年からソフトウェア エンジニアリングの学生として入学しましたが、まだあまり知識も理解もしていないので、他の人のコードを読んで理解できないと恥ずかしい思いをします。

` $h = fopen("numtext.txt", "r");

if($h) {
    while (($data = fgetcsv($h, 1000, " ")) !== FALSE) {
        foreach($data as $num)
            $numbers[] = $num;
    }
    fclose($h);
}

print_r($numbers);
echo count($numbers);`
4

1 に答える 1

0

ここでjQueryを使用した簡単なアプローチ

var InputHandler = function( $el ){
  var t = this;
  this.$el = $el;
  this.sendToServerButton = $el.find("button.sendToServer");

  var newInputElement = '<input type="text" /><br>';

  this.$el.append(newInputElement);

  
  /**
    on enter:
      add newInputElement and
      change focus to the new
  **/
  this.$el.on("keyup", "input", function(e){
    if (e.which !== 13) {
      return false;
    }
    t.$el.append(newInputElement);
    t.$el.find("input:last").focus();
  });

  
  /**
    send to the backend "script.php" as a "stringify" array
  **/
  this.sendToServer = function(numberArray){

    console.log("sending numbers to the server: ", numberArray);
    var stringForServer = JSON.stringify(numberArray);
    
    $.ajax({
      url: "script.php",
      type: "POST",
      data: ({numberArrayString : stringForServer}),
      success: function(msg){
        alert("send to server" + msg);
      }
    });


    /**
      on the server side in PHP (above called "script.php") do:
      $numberArray= json_decode($_POST['numberArrayString']); // create PHP array from stringify-json string
    **/

  }
  

  /**
    on click:
      collect numbers from the input fields and send them to the server
  **/
  this.sendToServerButton.on("click", function(){
    var numbers = [];
    $el.find("input").each(function(){
      var numberAsString = $(this).val();
      var number = parseInt(numberAsString);
      numbers.push( number );
    });
    t.sendToServer(numbers);
  });

}


var inputHandler = new InputHandler( $(".inputs") );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p>
  Enter numbers in the input field. 
  Press enter to add additional numbers.
</p>
<div class="inputs">
  <button class="sendToServer">send to server</button><br>
</div>

于 2016-05-28T21:33:58.160 に答える