2014-11-09 63 views
0

我試圖把條件與jQuery提交按鈕,似乎無法使任何工作。如果medLength == 0那麼應該有一個錯誤消息。沒有錯誤信息,即使medLength有一個值,提交按鈕不起作用。提交按鈕有一個圖形,所以我不能將其更改爲按鈕。任何幫助,將不勝感激。JQuery提交按鈕的條件

$("#submit").click(function get() { 
    if (medLength == 0) { 
     $(".errorStop").css().show; 
    } else { 

     $.ajax({ 
      url: "postnew1.php", 
      type: "POST", 
      data: { 
       type: medType, 
       time: medLength, 
       length: counter 
      }, 
     }).success(function (response) { 
      location.href = "meditate.php"; 
     }).error(function (e) {}); 
    } 
}); 

下面的代碼並沒有if/else聲明工作:

$("#submit").click(function get() { 
    $.ajax({ 
     url: "postnew1.php", 
     type: "POST", 
     data: { 
      type: medType, 
      time: medLength, 
      length: counter 
     }, 
    }).success(function (response) { 
     location.href = "meditate.php"; 
    }).error(function (e) {}); 
}); 
+2

什麼是medLength? – 2014-11-09 04:16:53

+0

我認爲你應該這樣做:if(medLength。長度== 0){ – 2014-11-09 04:18:58

+0

您在使用它之前是否曾想過檢查'medLength'包含的內容? – 2014-11-09 04:58:35

回答

1

一種方法來調試這將是添加alert("Error")到若情況下,這樣你就可以驗證,如果這些代碼確實被觸發,像這樣:

if (medLength ==0){ 
    alert("Error"); 
    $(".errorStop").css().show;   
} 

但是我能夠看到你的錯誤信息可能沒有顯示的部分原因是你沒有調用show()函數。

變化

$(".errorStop").css().show; 

$(".errorStop").show(); 
1

我覺得應該是

$(".errorStop").css().show; 

$(".errorStop").show(); 

希望你獲得medLength的權利!

+0

應該是$(「。errorStop」)。show(); – 2014-11-09 04:24:31

+0

更正!謝謝 – 2014-11-09 04:27:47

0

「提交按鈕有一個圖形,所以我不能將其更改爲按鈕。」你不需要「按鈕」是一個type =「button」或type =「submit」。說你可以爲元素設置一個id,比如id =「btn_sendInfo」。我不明白medLength的價值來自哪裏。所以這段代碼應該可以工作:

NOte =類型。我設置了json,但是如果你不想讓你可以隨意改變,或者刪除並讓jquery「gess」處理。 如果你不想用jason發送數據fron服務器,你可以擦除// JSON循環來檢索信息。

//Your javaScript code 
$(document).on("click", "#btn_sendInfo", function(){ 

if(medLength === 0){ 
    $(".errorStop").show() 
} 
else{ 

    //Data you want to send to php evaluate 
    var dt={ 
       ObjEvn:"btn_sendInfo", //You can use $ObjEvn=$_POST[ObjEvn] on server side php and test if($ObjEvn="btn_sendInfo"){do something ....} 
       type: medType, 
       time: medLength, 
       length: counter, 
       OtherDataJsToPHP: $("#txt_EmailLogin").val() 

      }; 

    //Ajax  
    var request =$.ajax({//http://api.jquery.com/jQuery.ajax/ 
          url: "postnew1.php", 
          type: "POST", 
          data: dt, 
          dataType: "json ????????" 
         }); 

    //Ajax Done catch JSON from PHP 
     request.done(function(dataset){ 

      // Put your succes function here ===> location.href = "meditate.php"; 

      //JSON Or if want to use json you cand use this to retrieve information send from server through json 
      for (var index in dataset){ 
       dataPHPtoJsJS=dataset[index].dataPHPtoJs; 
       asManyasYouWantJS=dataset[index].asYouWant; 
      } 


      //JavaScript conditions. Here you can control the behaivior of your html object, based on your PHP response 
      if(dataPHPtoJsJS){ 
       $("#idYourHtmlElement").removeClass("class1") 
       $("#idYourHtmlElement").addClass("class2") 
      } 


    }); 

    //Ajax Fail 
     request.fail(function(jqXHR, textStatus) { 
      //Put your function ---- function (e) {} 
      alert("Request failed: " + textStatus); 
     }); 
    } 

} 

但是,如果你只想要解決您的問題做到這一點,儘管你Seconde系列代碼:

$(document).on("click", "#sendInfo", function(){ 

if(medLength === 0){ 
    $(".errorStop").show() 
} 
else{ 
     //your ajax code 
    } 

} 
0

如通過下面的演示,圖像按鈕的工作原理就像一個提交按鈕,不提交父母形式。其次,演示還顯示提交處理程序中的代碼是有條件的;代碼的不同部分在不同的點擊次數下執行,具體取決於變量的值。

因此,這個演示應該是一個很好的例子,可以幫助您完成原本的目標。

var medLength = 0; 
 
    $('form').on('submit', function(e) { 
 
    e.preventDefault(); 
 
    if(medLength === 0) { 
 
     alert('medLength = 0'); 
 
    } else { 
 
     alert('medLength != 0'); 
 
    } 
 
    medLength++; 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form> 
 
    First name: 
 
    <input type="text" name="fname"> 
 
    <br> 
 
    <input type="image" src="https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQnMxVaix7dQzuVgQa5rwGcrX6sdy5vlvel5djnQgcn926d1FgH" alt="Submit"> 
 
</form>