Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

razs

[Resolvido] reconhece numero x e abre x input

Recommended Posts

Boas, existe alguma maneira de ter um select com numeração de 1 ate 50 e conforme o numero que se escolha ele disponibiliza input text.

 

tipo select 5 e aparecem 5 input text.

 

eu estava a pensar em fazer com um loop, o que acham?

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

acham que assim funciona bem?

 

<select name="center" onChange="FormSubmit('1.asp?inpval=<%request.form("center")%>')"></label>
<option selected value="">Choose</option>
<%
i=0
Do While i<10
i=i+1
%>
<option value="<%response.write i%>"><%response.write i%></option>
<%
Loop 
%>
</select>

 

funciona. fica ai na mesma para quem precisar.

 


FOR LoopCtr = 1 to request.querystring("inpval")
Response.Write  "Visit N_" & LoopCtr & "<INPUT Type=Text Name="" Value=""><BR>"
next


%>



 

so nao consigo por o onchange a funcionar de resto se puser o a var e o valor a mao funciona bem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entendi muito bem ?!?

você quer criar campos de texto (input type text) de acordo com o que selecionar ?!?

 

se for assim , ou seja para criar campos automaticamente, use este code:

 

/*
* 
* Como usar:
* 		todo o script se baseia nos parâmetros, logo você só terá que defini-los. Sâo eles:
* 			formID » valor do tipe ID que recebe o formulário
* 			buttonAdd » valor do tipo ID que recebe o botão para adicionar;
* 			textButtonRemove » valor do tipo STRING que especifíca o texto que aparecerá no botão de excluir campo
* 			maxInputs » valor do tipo inteiro que especifíca o máximo de campos a serem criado
* 			minInputs » valor do tipo inteiro que especifíca o mínimo de campos, no documento, depois de criados
* 			textLabel » valor do tipo STRING que especifíca o texto que aparecerá no label
*/

window.onload = function(){
addRemoveInput("upload", "btnAdd", "Deletar Campo!", 10, 2, "URL ");
};

function addRemoveInput(formId, buttonAdd, textButtonRemove, maxInputs, minInputs, textLabel){
var form = document.getElementById(formId);
var btnAdd = document.getElementById(buttonAdd);
var inputs = 0;
var labels = document.getElementsByTagName("label");

btnAdd.onclick = addInput;

function addInput(){
	if(labels.length < maxInputs){
		++inputs;

		var label = document.createElement("label");
		var input = document.createElement("input");
		var btnRemove = document.createElement("input");

		label.innerHTML = textLabel + inputs;
		input.setAttribute("type", "text");
		btnRemove.setAttribute("type", "button");
		btnRemove.setAttribute("value", textButtonRemove);

		label.appendChild(input);

		if(labels.length < minInputs){ 
			form.appendChild(label);
		} else{
			label.appendChild(btnRemove);
			form.appendChild(label);
		}
		btnRemove.onclick = removeInput;

	} else alert("Você pode adicionar até " + maxInputs + " campos!");
}

function removeInput(){
	if(labels.length == minInputs + 1){
		inputs--;
		alert("Você deve deixar no mínimo " + minInputs + " campo(s)!");
		form.removeChild(this.parentNode);
	} else{
		inputs--;
		form.removeChild(this.parentNode);
	}
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Viva Xan, mas o meu codigo funciona, a unica coisa que nao estou a conseguir fazer é a activar o onchange do select e nao estou a conseguir alterar o nome do imput com base no inpval.

 

<div class="field"><label><select name="center" onChange="FormSubmit('1.asp?inpval=<%request.form("center")%>')">></label>
<option selected value="">Choose</option>
<%
i=0
Do While i<100
i=i+1
%>
<option value="<%=i%>"><%=i%></option>
<%
Loop 
%>
</select></div>
<%
FOR LoopCtr = 1 to request.querystring("inpval")
%><div class="field"><label><% Response.Write  "Visit Nº " & LoopCtr & " : </label><INPUT Type=Text Name="" Value=""></div><BR>"
next
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que você tem no FormSubmit ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

boas, tenho

 

<script type="text/javascript">
function FormSubmit(x) {
document.form_center.action = x;
document.form_center.submit();
return;
}
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você esta recebendo dados do request.form("center")

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois, isto nao tem nenhum form :S

 

ja corrigi a situação do form e o engracado e que colocando a var e o numero no url ele funciona bem mas indo pelo formsubmit ele da Type mismatch: '[string: ""]'

 

<form name="form_center" method="POST" id="insform">
<table align="right">
<td>
Choose Number of Visits: <br>
<div class="field"><label><select name="center" onChange="FormSubmit('1.asp?inpval=<%request.form("center")%>')"></label>
<option selected value="">Choose</option>
<%
i=0
Do While i<100
i=i+1
%>
<option value="<%=i%>"><%=i%></option>
<%
Loop 
%>
</select></div>
<%
FOR LoopCtr = 1 to request.querystring("inpval") <----- o erro aponta para aqui!!
Response.Write  "<label>Visit Nº " & LoopCtr & " : </label><INPUT Type=Text Name="" Value=""><BR>"
next
%>
</td>
</table>
</form>

 

 

porque e que ele funciona manualmente mas pelo form da erro??

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

já experimentou fazer com jquery?

 




               <script type="text/javascript">
			$(function(){
				$("select[name=mais]").change(function(){
					var obj = $(this);
					obj.nextAll('input').remove();
					for(i = 0; i < $(this).val() ; i++){
						obj.after('<input type="text" style="display:block;" />');
					}
				});
			});
			</script>

               <select name="mais">
				<option value="0">Seleccione</option>
                   <option value="1">1</option>
                   <option value="2">2</option>
                   <option value="3">3</option>
                   <option value="4">4</option>
               </select>


 

Compartilhar este post


Link para o post
Compartilhar em outros sites

resolvido.... alterei para request.form...

 

<form name="form_center" method="POST" id="insform">
<table align="right">
<td>
Choose Number of Visits: <br>
<div class="field"><label><select name="center" onChange="FormSubmit('1.asp')"></label>
<option selected value="">Choose</option>
<%
i=0
Do While i<100
i=i+1
%>
<option value="<%=i%>"><%=i%></option>
<%
Loop 
%>
</select></div>
</form>

<%
FOR LoopCtr = 1 to request.form("center")
Response.Write  "<label>Visit Nº " & LoopCtr & " : </label><INPUT Type=Text Name="" Value=""><BR>"
next
%>
</td>
</table>

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso devido ao seu method ser POST

Compartilhar este post


Link para o post
Compartilhar em outros sites

era por causa disso?

 

ja agora como insiro o name do input gerado tipo

 

<INPUT Type=Text Value="" name="visit_n_request.form("center")"><BR>"

 

isto da-me sempre erro por causa das aspas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

boas xan, isto esta a funcionar como eu pretendia so tem uma coisa, quando abre as input o cursor na fixa na caixa e desse modo nao me deixa escrever.

 

do que sera?

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

coloca assim:

 

<INPUT Type=Text Value="" name="<%=visit_n_request.form("center")%>"><BR>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.