SCENARIUSZOnclick na normalnym przyciskiem jest złożenie formularza
mam java
JSP widok z długiej formie. To działało miło. Mogę przesłać formularz, naciskając klawisz Enter w dowolnym polu wprowadzania lub przycisk przesyłania.
nowy wymóg
W części, muszę dodać przyciski zastąpić niektóre <label>
dla <input>
celu umożliwienia edycji, nic twardego.
co starałem
Ta część zdania jest tworzony dinamically, numer przyczyną linii zależy od danych wprowadzonych przez użytkownika, to części tworzy każdym wierszu:
resultadoHTML += " <div class='row col-lg-12 col-xs-12' style='margin-bottom: 30px;text-align: left;'>";
resultadoHTML += " <label class='col-lg-3 col-xs-12 control-label' >" + nomCalidad + "</label>";
resultadoHTML += " <div class='col-lg-5 col-xs-8'>";
resultadoHTML += " <input type='text' class='form-control' value='"+valor+"' id='calidadCatId' maxlength='30' required='true' />";
resultadoHTML += " </div>";
resultadoHTML += " <div class='col-lg-2 col-xs-3' id='ccc" + parts[1] + "'>";
resultadoHTML += " <label class='control-label' id='unidadCCC" + parts[1] + "' >" + parts[4] + "</label>";
resultadoHTML += " </div>";
resultadoHTML += " <div class='col-lg-2 col-xs-1'>";
resultadoHTML += " <button id='eCCC" + parts[1] + "' class='btn btn-default'><span class='glyphicon glyphicon-plus-sign'></span></button>";
resultadoHTML += " </div>";
resultadoHTML += " </div>";
wynikających HTML przycisku
<button id="eCCC5" class="btn btn-default"><span class="glyphicon glyphicon-plus-sign"></span></button>
PROBLEM
Gdy używam onclick
zdefiniować funkcję w nowym przycisku, funkcja ta nazywa, ale po zdarzenie click
przycisku przedstawienia jest TAKŻE nazywa i nie wiem dlaczego ... Ale jak możesz zobaczyć w kodzie, nawet jeśli i DO NOT przechwycić dowolne zdarzenie w przycisku, wywoływane jest wydarzenie formularza.
INNE INFORMACJE
FORMULARZ/PRZYCISK DEFINICJA
<form:form class="form-horizontal" role="form" method="post"
commandName="contratMercan" action="../contratos/contratosubmit"
name="formulario" id="edicionContrato">
<button type="submit" class="btn btn-primary" id="edicionContrato">
<spring:message ... /> // omitted info
</button>
WYŚLIJ FUNKCJI
$("#edicionContrato").submit(function(e){
e.preventDefault();
var form = this;
// checks and workarounds...
form.submit();
});
Każdy pomysł, dlaczego może się zdarzyć? Może dinamically wprowadzony kod HTML
ma jakiś błąd i wyrzuca javascript
lub html
po?
Możesz uniknąć tego problemu używając ("#yourbutton"). On ("click", function() {your code}), wiesz co mam na myśli? Mogę wpisać prawidłową odpowiedź przy przesłaniu, jeśli jej potrzebujesz – gon250
Nie uniemożliwi to przesłania formularza. Musisz użyć '.on (" kliknij ", funkcja (e) {e.preventDefault();/* reszta kodu * /}) ' –
Nie mogę używać' on '(nazwy "" kliknięcia "są tworzone dinamicznie, jak widać ... to był głupi błąd, nie określając rodzaju przycisku –