2013-08-01 21 views
0
<html> 
<head> 
<title></title> 
<script language="javascript"> 
fields = 0; 
function addInput() { 
if (fields != 3) { 
document.getElementById('text').innerHTML += "<input type='text' value='' /><br />"; 
fields += 1; 
} else { 
document.getElementById('text').innerHTML += "<br />Only 3 fields allowed."; 
document.form.add.disabled=true; 
} 
} 
</script> 
</head> 
<body> 
<form name="form"> 
<input type="button" onClick="addInput()" name="add" value="Add input field" /> 
</form> 
</body> 
</html> 

問題是如果提交此代碼,我如何知道已添加的每個輸入文本的名稱。Javascript的問題(AddInput)

感謝您的幫助,我是JS的新手。

+0

在另一個說明中,爲「只允許3個字段」的通知創建一個單獨的元素和ID,否則它們會將此消息反覆附加到ID爲'text'的元素的底部當前代碼。 – Anton

+0

問題對我來說並不明確。 – Sudarshan

回答

0

當你在你的JavaScript代碼中創建它們時,你可以指定它們的ID和名稱。下面的例子給出了每個輸入編號和名稱「字段1」,「字段2」和「場3」在創建時:

<script language="javascript"> 
    fields = 0; 
    function addInput() { 
     if (fields != 3) { 
      fields += 1; 
      document.getElementById('text').innerHTML += "<input id='field" + fields + "' name='field" + fields + "' type='text' value='' /><br />"; 
     } else { 
      document.getElementById('text').innerHTML += "<br />Only 3 fields allowed."; 
      document.form.add.disabled=true; 
     } 
    } 
</script> 

然後,您可以通過名字的東西,如打電話給他們:

var myFirstField = document.getElementById('field1'); 

而在回傳中,如果表單提交給另一個頁面,則可以引用它們的名稱。

+0

好的,謝謝你的幫助。我會嘗試這個 – Nyc2x

0

您可以將您的名字字段更改爲一個html陣列狀

<input type="button" onClick="addInput()" name="add[]" value="Add input field" /> 

那麼當你提交你的代碼中獲取附加的陣列。

希望這會有所幫助。

+0

好吧,謝謝你幫助我。我會試試這個, – Nyc2x

0
var fields = 0, 
    button = document.getElementById('button'), 
    text = document.getElementByIs('text'), 
    addInput = function() { 
     if(fields !== 3) { 
      fields += 1; 
      text.appendChild('<input type="text" value="" name="fields" /><br />'); 
     } else { 
      text.appendChild('<br />Only 3 fields allowed.'); 
      document.form.add.disabled = true; 
     } 
    }; 
if(window.addEventListener) { 
    button.addEventListener('click', addInput, false); 
} else if(window.attachEvent) { 
    button.attachEvent ('onclick', addInput); 
} else { 
    button[ 'onclick' ] = addInput; 
}