我在局部视图的顶部有以下Javscript:
<script>
$(document).ready(function () {
alert('@Model.Course.CompletionTypeID');
$('#Submit').live('click', function () {
if ('@Model.Course.CompletionTypeID' == 2 || '@Model.Course.CompletionTypeID' == 3) {
alert("IN THE LOOP");
var fullURL = document.URL;
fullURL = fullURL.replace("#", "");
var courseID = fullURL.split('courseID=');
var courseID = courseID[1];
var postData = { 'courseID': courseID };
$.post('/Course/FinishSurvey/', postData, function (data) {
alert("COOL");
$('#finishDiv').hide();
$('#finishCompleteDiv').show();
alert("COOL COOL");
document.getElementById("FinishButton").style.visibility = "hidden";
document.getElementById("LaunchButton").style.visibility = "visible";
});
}
event.cancelBubble = true;
event.returnValue = false;
event.preventDefault();
event.stopPropagation();
});
});
</script>
单击“提交”按钮后,我收到提示“在循环中”,因此我已成功进入循环,但然后在顶部if语句出错,因为由于某种原因我无法解决post方法没有尽管代码是从工作页面复制的,但似乎还是受到了打击。它在以下行中出错:
if ('@Model.Course.CompletionTypeID' == 2 || '@Model.Course.CompletionTypeID' == 3) {
即使它已经进入此循环,但已找到此模型变量的值。如果我然后在调试时按F5,它将转移到Course / FinishSurvey控制器方法但是如果不按F5我就无法达到这一点。任何人都可以告诉我,如果有什么我做错了你会看到什么,任何帮助将不胜感激
答案 0 :(得分:0)
我看不到你宣布你的活动的地方。
$('#Submit').live('click', function () {
应该是:
$('#Submit').live('click', function (event) {
但是,我会这样做:
$('form').submit(function(e) {
e.preventDefault();
// your ajax code
});