0
我想通過AJAX提交表單。當我提交表單時,它應該發送一個ajax並使用id stepTwo淡入到div中,並淡出當前的div。我正在使用jQuery 1.8.0,並且在提交時我的控制檯中出現此錯誤。Rails AJAX表單提交
NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindow.getComputedStyle]
[Break On This Error]
...=[]),o&&(e=" "+e);while(e){k=!1;if(j=B.exec(e))e=e.slice(j[0].length),k=d.push({...
這裏是我的HTML:
<div id="stepOne">
<%= form_for @program do |f| %>
<div>
<label for="exerciseName">Title For Your Program</label>
<%= f.text_field :title, :name => "exerciseName", :required => "required", :maxlength => "40" %>
</div>
<div>
<label for="exerciseName">Detailed Info For Your Program</label>
<%= f.text_area :details %>
</div>
<%= f.submit "Next Step", :class => "exbuttons button-small red rounded3", :id =>"stepOneButton" %>
<% end %>
</div>
這裏是我的控制器
#POST /節目 #POST /programs.json 高清創建 @program = Program.new(PARAMS [:progeram]) @ program.user_id = current_user.id
respond_to do |format|
if @program.save
if request.xhr?
render @program
else
redirect_to @program
end
else
if request.xhr?
render @program
else
flash[:error] = "Program could not be added"
redirect_to new
end
end
end
end
這是我的JavaScript文件
function stepOne(){
$('#new_program').submit(function(event){
event.preventDefault();
var f = $(this);
f.find('input[type="submit"]').attr("disabled", true);
$.ajax({
type: f.attr("method"),
url: f.attr("action"),
data: f.serialize(),
complete: function(){
f.find('input[type="submit"]').attr("disabled", false);
},
success : function(data){
console.log(data);
$(this).fadeOut();
$('#stepTwo').delay(400).fadeIn();
},
error : function(xhr, status){
console.log(status);
}
});
});
}