Ceci est mon code:Ruby On Rails: AJAX et Soumettre une demande en cours en parallèle
<%= simple_form_for @video do |form| %>
<div class="form-inputs">
<%= form.input :title, id: :video_title %>
<div class="row">
<div class="input-field col s12">
<textarea id="textarea1" name="video[description]" class="materialize-textarea"></textarea>
<label for="textarea1">Description</label>
</div>
</div>
<label for="spaceTags">Tags</label>
<div id="spaceTags" class="chips chips-placeholder"></div>
<%= form.label :movie %>
<%= form.file_field :movie %>
<%= form.label :preview_images%>
<%= form.file_field :preview_images, multiple: true %>
<p>
<input type="checkbox" name=video[published] id="test5" />
<label for="test5">Publish Video</label>
</p>
<div class="form-actions" onclick="fetch();">
<%= form.submit%>
</div>
<% end %>
et mon code javascript est:
$('#textarea1').trigger('autoresize');
$('.chips').material_chip();
$('.chips-placeholder').material_chip({
placeholder: 'Enter a tag',
secondaryPlaceholder: '+Tag',
});
function fetch(){
var x = $('#spaceTags').material_chip('data');
$.ajax({
type: "POST",
url : "/videos",
data: {"sarthak":JSON.stringify(x)},
success : function(){alert ("Success!")},
error : function(data){alert(data.message)}
});
}
lorsque je tente de soumettre le formulaire, il fait l'appel à même action dans les deux cas.Il existe un moyen par lequel je peux retarder la soumission du formulaire jusqu'à ce que l'appel AJAX est exécuté ou toute autre façon par laquelle je peux résoudre ce problème.
Bad pour nommer votre fonction 'fetch' ... elle existe déjà sur la portée globale ... vous êtes en train de la surcharger ou de l'empêcher de l'utiliser dans une portée. Doit être quelque chose de nom: 'getVideos' appelant une fonction d'extraction peut aller chercher n'importe quoi si vous regardez seulement le code – Endless