2014-02-25 25 views
-2

我想知道如何將一個警告框,如果所有的變量都是空的ajax?我的意思是,當我點擊按鈕,所有的領域都是空的,它會彈出並說,請先填寫該字段...我該怎麼做?如何在ajax中如果所有的輸入都是空的警告框

當前腳本:

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#updates').click(function (e) { 
     e.preventDefault(); 
     var data = {}; 
     data.region_text = $('#t_region').val(); 
     data.town_text = $('#t_town').val(); 
     data.uniq_id_text = $('#t_uniq_id').val(); 
     data.position_text = $('#t_position').val(); 
     data.salary_grade_text = $('#t_salary_grade').val(); 
     data.salary_text = $('#t_salary').val(); 

     for(var $x=1;$x<=15;$x++) { 
      data['id'+$x+'_text'] = $('#id'+$x).val(); 
      data['aic'+$x+'_text'] = $('#aic'+$x).val(); 
      data['name'+$x+'_text'] = $('#name'+$x).val(); 
      data['optA'+$x+'_text'] = $('#optA'+$x).val(); 
      data['optB'+$x+'_text'] = $('#optB'+$x).val(); 
      data['optC'+$x+'_text'] = $('#optC'+$x).val(); 
      data['optD'+$x+'_text'] = $('#optD'+$x).val(); 
      data['other_qual'+$x+'_text'] = $('#other_qual'+$x).val(); 
      data['interview'+$x+'_text'] = $('#interview'+$x).val(); 
      data['total'+$x+'_text'] = $('#total'+$x).val(); 
     } 

     $.ajax({ 
      type: "POST", 
      url: "insert.php", 
      data: data, 
      cache: false, 
      success: function (response) { 
      if (Number(response) == 1) 
     { 
    alert("cant saved again!"); 
     } 
     else 
     { 
    alert("successfully saved!"); 
     } 
      } 
     }); 
    }); 
}); 
</script> 

insert.php代碼:

<?php 
    include('../connection.php'); 
    date_default_timezone_set('Asia/Manila'); 

    $region  = @$_POST['region_text']; 
    $town   = @$_POST['town_text']; 
    $uniq_id  = @$_POST['uniq_id_text']; 
    $position  = @$_POST['position_text']; 
    $salary_grade = @$_POST['salary_grade_text']; 
    $salary  = @$_POST['salary_text']; 

$dupesql = "SELECT * FROM afnup_worksheet WHERE funiq_id = '$uniq_id'"; 
$duperow = mysql_query($dupesql); 
if(mysql_num_rows($duperow) > 0){ 
    echo "1"; 
    exit; 
}else{ 
    echo "2"; 
    for($n=1;$n<=15;$n++) { 


    $id   = @$_POST['id'.$n.'_text']; 
    $aic   = @$_POST['aic'.$n.'_text']; 
    $name   = @$_POST['name'.$n.'_text']; 
    $optA   = @$_POST['optA'.$n.'_text']; 
    $optB   = @$_POST['optB'.$n.'_text']; 
    $optC   = @$_POST['optC'.$n.'_text']; 
    $optD   = @$_POST['optD'.$n.'_text']; 
    $other_qual = @$_POST['other_qual'.$n.'_text']; 
    $interview = @$_POST['interview'.$n.'_text']; 
    $total  = @$_POST['total'.$n.'_text']; 



if(!empty($name)){ 
$query = "INSERT INTO afnup_worksheet (faic,fregion,ftown,funiq_id,fposition,fsalary_grade,fsalary,fnl_name,edu_attain,experience,seminars,eligibility,other_qual,interview,ftotal,dateinputed) 
VALUES 
('$aic','$region','$town','$uniq_id','$position','$salary_grade','$salary','$name','$optA','$optB','$optC','$optD','$other_qual','$interview','$total',CURRENT_TIMESTAMP)"; 
$resource = mysql_query($query) or die(mysql_error()); 
     } 
    } 
} 
?> 
+0

您必須驗證html表單,直到讓他們使用Ajax進行處理 – tnanoba

+0

難道您不能使用'required'屬性嗎? –

回答

1

你可以抓住所有的輸入,過濾空,並彈出基於該警示:

var emptyFields = $(':input').filter(function() { return this.value === '' }); 

if (emptyFields.length) { 
    alert('Fill out all forms fields'); 
} 
else { 
    // other code here. 
} 

如果採取這種方法,我會寫周圍的整個點擊方法。這會導致您在嘗試處理數據之前驗證表單。在表單驗證失敗的情況下,它可以節省時間;特別是如果它經常發生的話。

+0

感謝兄弟,它工作得很好:D – user3340637

0

你可以在你的循環插入一個變量是這樣的:

var bool = true; 
for(var $x=1;$x<=15;$x++) { 
    // ... your code ... 
    bool = bool && ($('#id'+$x).val() != ""); 
    // do like the above for all the fields 
} 
// at this point if at least one of your fields is empty, bool will be false 

if (bool) { 
    // your ajax call here, if all fields are not empty bool == true 
} else { 
    alert("Please fill all the fields first"); 
} 

我希望我得到了你需要,問題有點不清楚

相關問題