2012-02-29 48 views
1

我的網站中有10個盒子是根據我的需要填滿的。從PHP代碼我不喜歡一個接一個地檢查它們。相反,我認爲在每個框中放置複選標記是一個好主意,並且如果我在輸入字段中填充了某些內容,應該檢查它,以便檢查填充的複選框是否填滿以及知道填充了多少個框。自動檢查輸入是否已填充

if ($input1) {$total = "1"; 
    if ($input2) {$total = "2"; 
    } 
} 

任何人都知道如何在我開始輸入任何內容時自動檢查複選框?但是如果我在發送之前刪除了我寫的內容,它應該取消選中。或者如果你們有更好的主意,那也會很好。

謝謝!

+0

也許你可以循環你的請求參數數組? – miku 2012-02-29 23:56:01

+0

我想要做什麼,但我怎樣才能檢查他們有多少人沒有輸入全部發送。我可以把對方內的2個時間,我猜..這是一個好主意嗎? 「當我開始輸入任何內容時」 – Reis 2012-02-29 23:57:59

+0

「這是什麼意思? – jribeiro 2012-02-29 23:58:50

回答

2

你可以在JavaScript中做到這一點。基本上,如果輸入文本的數量是相同的複選框,那麼你可以使用此功能,例如:

function change() { 

var input_lengths = document.getElementsByName("textArray[]"); 

for(var i= 0; i < input_lengths.length;i++) { 

    if(document.getElementsByName("textArray[]").item(i).value != "") { 

     document.getElementsByName("checkArray[]").item(i).checked = true; 

    } 

} 

}

和你的HTML可能是:

<input type="text" name="textArray[]" value="" /> 
<input type="text" name="textArray[]" value="" /> 
<input type="text" name="textArray[]" value="" /> 
<input type="text" name="textArray[]" value="AAA" /> 

<input type="checkbox" name="checkArray[]" value="" /> 
<input type="checkbox" name="checkArray[]" value="" /> 
<input type="checkbox" name="checkArray[]" value="" /> 
<input type="checkbox" name="checkArray[]" value="" /> 

<input type="button" value="test" onclick="javascript:change()" /> 
2

你爲什麼不命名您的複選框作爲數組如:

<input type="checkbox" name="boxes[1]" /> 
<input type="checkbox" name="boxes[2]" /> 

那麼你可以遍歷在PHP中數組和檢查每一個單獨

+0

然後我可以檢查你的盒子裏有多少個數組?之後從那裏出發.. – Reis 2012-03-01 00:06:31

2

我這是怎麼理解你的問題:

  • 你有10個文本輸入
  • 你想知道其中有多少含有實際輸入時,他們提交
  • 你的想法是一個複選框,輸入分配給每個文本輸入,這樣,當輸入具有文本對應的複選框被選中,並選中當輸入沒有文本

東西非常快速和骯髒。您可能想用方括號命名輸入,以便php將該參數解釋爲數組。然後你可以迭代一個數組,如果設置了值,你可以計數。

<html> 
<body> 
<?php 
    if(isset($_POST['input'])) { 
    $count = 0; 
    foreach($_POST['input'] as $value) { 
     if($value) { 
     $count++; 
     } 
    } 
    echo $count; 
} 
?> 
<form action="testinputs.php" method="post"> 
<input name="input[]" value="" type="text"> 
<input name="input[]" value="" type="text"> 
<input name="input[]" value="" type="text"> 
<input name="input[]" value="" type="text"> 
<input name="input[]" value="" type="text"> 
<input name="input[]" value="" type="text"> 
<input type="submit"/> 
</form> 
</body> 
</html> 

如果你想這樣做,在客戶端,比我拿的東西像jQuery,看看有多少投入在我的網頁裏面含有其中的任何文本。