-1
这是我的代码:Ruby on Rails的:AJAX和提交申请运行部件并联
<%= 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 %>
和我的JavaScript代码是:
$('#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)}
});
}
当我尝试提交表单它使调用在这两种情况下同样的行为。有什么方法可以延缓表单提交,直到AJAX调用被执行或者我可以通过其他方式解决这个问题。
坏命名你的函数'fetch' ...它已经存在于全局范围内......你要么覆盖它,要么阻止在范围内使用它。应该命名一些:'getVideos'调用一个获取函数可以获取任何东西,如果你只看代码 – Endless