Фактически, я бы опубликовал после обработки формы, например, обработал информацию и вернул флеш без обновления страницы с новой информацией в случае сбоя. Если форма действительна, я ссылаюсь, например, на другую страницу.PlayFramework - Показать сообщение без обновления страницы
Я поставил себя в Интернете совсем недавно. Я думаю, что обновление информации на странице без обновления страницы полностью будет полезно в будущем.
I have a video in order to illustrate what i'm saying.
Если у вас есть образец кода, я беру: D
код (опция для чтения):
Html:
@module.note.render(PanelType.DANGER, "contact")
<form id="submit" class="submit-form" method="post" action="@routes.SupportController.postSupport()">
<div class="row">
<div class="col-md-6 col-sm-12">
<label class="control-label">Votre nom</label>
<input type="text" class="form-control" name="lastName" placeholder="">
</div>
...
<div class="row">
<div class="col-md-12 col-sm-12">
<label class="control-label">Votre message</label>
<p>
<textarea id="content" name="content" placeholder="Ecrivez votre message ici"></textarea>
<script type="text/javascript">
CKEDITOR.replace('content');
</script>
</p>
</div>
</div> <!-- end row -->
<hr class="invis">
<button type="submit" class="btn btn-primary">Envoyer !</button>
</form>
postSupport() функция:
Функция@Http.Post
public Result postSupport()
{
DynamicForm d = form.form().bindFromRequest();
FormChecker errors = new Support().getErrors(new FormValidator(d));
List<String> check = errors.check();
if(check != null && !check.isEmpty())
{
flash("contact", check.get(0));
return index();
}
Support support = new Support(d.get("lastName"), d.get("email"), d.get("content"), d.get("subject"), d.get("website"), d.get("department"));
support.insert();
return supportList();
}
getErrors():
@Override
public FormChecker getErrors(FormValidator f)
{
return new FormChecker(f,
x -> x.validate("lastName", "content", "email", "subject", "website", "department"),
x -> x.isValidEmail("email"),
x -> x.isValidUrl("website"),
x -> x.isValidMinbLenght(5, "subject")
? "" : "Le sujet doit avoir une longueur minimum de 5 caractères.",
x -> x.isValidMinbLenght(30, "content")
? "" : "Le contenu du rapport doit faire minimum 30 caractères.",
x -> x.isValidMinbLenght(3, "lastName")
? "" : "Votre nom doit avoir une longueur minimum de 5 caractères.",
x -> new SupportDepartment().get("department", x.get("department")) != null
? "" : "Le département n'éxiste pas."
);
}
Спасибо вам так много.
Можете ли вы разместить свой javascript-код, чтобы отправить форму? –
На данный момент я ничего не делаю для стороны javascript, juste html <-> PlayFramework. Я ищу образец кода, который работает с файловой средой :) –