0

<body>コードのセクションに単純なボタンがあります。

<p><button id='submitstudents'>Submit Students</button></p>

ボタンをクリックすると、関数を通過してeditvalidation()エラーがないかどうかを確認し、エラーがない場合は確認ボックスを表示し、ユーザーが確認した場合は ajax を実行する必要があります。

問題はOK、確認ボックスのボタンをクリックしても何も起こらず、ページがロードされないことです。私の質問はOK、確認でボタンをクリックした後にページが送信されない原因は何ですか?

エラーコンソールにエラーはありません。

Jquery コード (正しい順序で表示):

検証:

function editvalidation()
{
    if ($("#sessionsDrop").val()==""){
        $("#studentAlert").html("Please Select an Assessment to edit from the Assessment Drop Down Menu");
    }
    if ($("#sessionsDrop").val()!="" && $("#studentadd").children().length==0){
        $("#studentAlert").html("You have not Selected any Students you wish to Add into Assessment");
    }
    if ($("#sessionsDrop").val()!="" && $("#studentadd").children().length!=0){
        return true;
    }
    return false;
}

フォームを送信:

     function submitform() {    

        $.ajax({
            type: "POST",
            url: "updatestudentsession.php",
    data: { 
        sessionid:  $('#currentid').val(),
        students:   $('#addtextarea').val()
    },
            dataType:'json',  //get response as json
            success: function(result){
                        if(result.errorflag){

           //do your stuff on getting error message
          var newHtml="<span style='color: red'>"+result.msg+"</span>"; 
          $("#targetdiv").html(newHtml);  //i am displaying the error msg here

        }else{
           //you got success message

           var newHtml="<span style='color: green'>"+result.msg+"</span>"; 
                $("#targetdiv").html(newHtml);


               //append students you want to add to assessment into student exist select box 
               var selectedStudents = jQuery("select#studentadd").find("option");
                selectedStudents.appendTo($("select#studentexist"));
                $('option.red', 'select#studentexist').remove(); 

                 //blank #studentadd select box
                 $('#studentadd').empty(); 

                    $('#targetdiv').show();
            }
        }
      }); 
}

確認:

         function showConfirm(){

          var examInput = document.getElementById('currentAssessment').value;

          if (editvalidation()) {

         var confirmMsg=confirm("Are you sure you want to add your selected Students to this Assessment:" + "\n" + "Exam: " + examInput);

         if (confirmMsg==true)
         {
         submitform();   
     }
  }
}

ボタンクリック:

$('body').on('click', '#submitstudents', showConfirm);  
4

1 に答える 1

1

試す

$('#submitstudents').click(function(){
    showConfirm();
});

編集:

スクリプトが機能するはずです。イベントのfunctionsandhandlerをすべて の中に入れます。click$(document).ready(function(){ //Code goes here });

また、jqueryライブラリがリンクされていることを確認してください。

于 2013-01-11T04:45:16.907 に答える