2014-01-18 71 views
0

我想知道如果有一種方法可以追加到是數組值。例如如何附加到值?

<input type="text" id="someID" name="text[]"/> 

你怎麼追加到在Javascript中? 通常情況下,我只想得到價值的內容,然後追加到它,但它在這裏一個數組,所以我不知道該怎麼辦呢

代碼用於非數組

var newvalue = 50; 
var value = document.getElementById('someID').value; 
document.getElementById('someID').value = value+newvalue; 

追加現在,我需要的是PHP獲得值爲50的數組

我該怎麼做?

+0

你試試吧,輸入的值不能是一個數組,加上括號只是讓一些像PHP一樣的服務器端軟件將其解析爲一個數組。 – adeneo

+0

@adeneo我知道,這就是我打算做的,我只是想添加到數組中的另一個值將被像PHP – Ali

+0

這樣的語言處理像數組中的值,很抱歉,但我沒有得到這個問題?請你澄清一下嗎? – banzomaikaka

回答

0

您可以將hidden輸入與期望的value以及相同的name附加到表單中。

HTML:

<form action="" name="numbers-form"> 
    <input type="text" name="numbers[]" value="30" /> 
    <input type="text" name="numbers[]" value="40" /> 
</form> 

的JavaScript:

var formArray = (function() { 
    var form = document.forms['numbers-form'], 
     inputName = 'numbers[]'; 
    return { 
     getNumbers: function() { 
      // NodeList to Array 
      var nodesArray = Array.prototype.slice.call(form[inputName]); 
      return nodesArray.map(function(input) { 
       return input.value; 
      }); 
     }, 
     addNumber: function(number) { 
      var input = document.createElement('input'); 
      input.type = 'hidden'; 
      input.name = inputName; 
      input.value = number; 
      form.appendChild(input); 
     }, 
     printNumbers: function() { 
      console.log(this.getNumbers()); 
     } 
    }; 
})(); 

formArray.printNumbers(); 
formArray.addNumber(50); 
formArray.printNumbers(); 
formArray.addNumber(60); 
formArray.printNumbers(); 

DEMO