1

我正在尝试<p>使用 jquery 更新标签,但是,当我单击“提交”按钮时,我用 innerHTML 插入的文本很快就会消失。除非我使用 Firefox,在这种情况下它似乎可以工作-如果-我插入警报框。在我看来,这听起来像是某种时间问题。但我不太确定它是什么或如何解决它。有谁知道问题可能是什么?

提前感谢所有帮助!

$(document).ready(function(){
     $('#addCourse').live("submit", function(){
        //alert("Submit Function.  hours = "+$('#hours').val());
        document.getElementById('hrs_planned').innerHTML = 'HOURS = '+INIT_PLANNED_HRS+2;//($('#hours').val())+' GPA';
     });                
     document.getElementById('hrs_planned').innerHTML = 'HOURS!! = '+INIT_PLANNED_HRS+' GPA';
});

和html

<li><h3>Planned Courses</h3><p id = "hrs_planned"> gpa </p></li>
4

1 回答 1

3

试试return false

如果您使用 jQuery 1.7,也可以使用,因为on()已被贬低。有关详细信息,请参阅文档。 如果您使用的是 jQuery 1.6.x 或更早版本,请改用。live()live()
delegate()

$(document).ready(function() {
    $('#addCourse').on("submit", function(e) {
        //alert("Submit Function.  hours = "+$('#hours').val());
        document.getElementById('hrs_planned').innerHTML = 'HOURS = ' + INIT_PLANNED_HRS + 2; //($('#hours').val())+' GPA';
        return false;
    });
    document.getElementById('hrs_planned').innerHTML = 'HOURS!! = ' + INIT_PLANNED_HRS + ' GPA';
});​

..或者如果失败,您可以尝试使用e.preventDefaultand e.stopPropagation

$(document).ready(function() {
    $('#addCourse').on("submit", function(e) {
        // prevent default submit behaviour
        e.preventDefault;
        //alert("Submit Function.  hours = "+$('#hours').val());
        document.getElementById('hrs_planned').innerHTML = 'HOURS = ' + INIT_PLANNED_HRS + 2; //($('#hours').val())+' GPA';

        // prevent event from bubbling up
        e.stopPropagation;
    });
    document.getElementById('hrs_planned').innerHTML = 'HOURS!! = ' + INIT_PLANNED_HRS + ' GPA';
});​
于 2012-06-21T19:45:26.780 回答