Eu tinha um código de trabalho que podia redefinir o meu formulário quando clico no botão de redefinição. Entretanto, depois que meu código está ficando mais longo, eu percebo que ele não funciona mais't funciona mais.
<div id="labels">
<table class="config">
<thead>
<tr>
<th colspan="4"; style= "padding-bottom: 20px; color:#6666FF; text-align:left; font-size: 1.5em">Control Buttons Configuration</th>
</tr>
<tr>
<th>Index</th>
<th>Switch</th>
<th>Response Number</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<form id="configform" name= "input" action="#" method="get">
<tr><td style="text-align: center">1</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" value="" id="number_one"></td>
<td><input style="background: white; color: black;" type="text" id="label_one"></td>
</tr>
<tr>
<td style="text-align: center">2</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" id = "number_two" value=""></td>
<td><input style="background: white; color: black;" type="text" id = "label_two"></td>
</tr>
<tr>
<td style="text-align: center">3</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" id="number_three" value=""></td>
<td><input style="background: white; color: black;" type="text" id="label_three"></td>
</tr>
<tr>
<td style="text-align: center">4</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" id="number_four" value=""></td>
<td><input style="background: white; color: black;" type="text" id="label_three"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" id="configsubmit" value="Submit"></td>
</tr>
<tr>
<td><input type="reset" id="configreset" value="Reset"></td>
</tr>
</form>
</tbody>
</table>
</div>
E o meu jQuery:
$('#configreset').click(function(){
$('#configform')[0].reset();
});
Existe alguma fonte que eu deva incluir nos meus códigos para que o método .reset()
funcione? Anteriormente eu estava utilizando:
<script src="static/jquery.min.js">
</script>
<script src="static/jquery.mobile-1.2.0.min.js">
</script>
e o método .reset()
estava funcionando.
Atualmente I'm usando
<script src="static/jquery-1.9.1.min.js"></script>
<script src="static/jquery-migrate-1.1.1.min.js"></script>
<script src="static/jquery.mobile-1.3.1.min.js"></script>
Poderia ser uma das razões?
$('#configreset').click(function(){
$('#configform')[0].reset();
});
Ponha-o no violino do JS. Funcionou como pretendido.
Portanto, nenhuma das questões acima mencionadas é culpa aqui. Talvez você'está tendo um problema de identificação conflitante? O clique está realmente executando?
Edit: (porque I'sou um triste sack sem a capacidade de comentar corretamente) It'não é um problema diretamente com seu código. Ele funciona bem quando você o tira do contexto da página que você'está usando atualmente, então, ao invés de ser algo com o jQuery/javascript & em particular; dados atribuídos ao formulário, ele tem que ser algo mais. I'começaria a bissecionar o código à sua volta e tentaria descobrir onde's está a acontecer. Quero dizer, apenas para ' certifique-se' suponho que você poderia...
console.log($('#configform')[0]);
na função de clique e certifique-se de que ele's visa a forma certa...
e se for, tem que ser algo que's não está listado aqui.
editar parte 2: Uma coisa que você poderia tentar (se ele's não o alvo corretamente) é usar "input:reset" ao invés do que você está usando... também, i'd sugere porque ele's não é o alvo que's está trabalhando incorretamente para descobrir qual é o alvo real do clique. Basta abrir as ferramentas firebug/developer, o que o tem, atirar para
console.log($('#configreset'))
e ver o que aparece. E depois podemos ir a partir daí.
Um botão reset não'não precisa de nenhum script (ou nome ou id):
<input type="reset">
e você're done. Mas se você realmente tende usar script, note que todo controle de formulário tem uma propriedade form que faz referência ao formulário em que's, então você poderia fazer:
<input type="button" onclick="this.form.reset();">
Mas um botão de reset é uma escolha muito melhor.