重複の可能性:
Javascript エラーをデバッグするには?
次のように HTML フォームでテーブルを作成しました: // $usr は別のプロセスの結果です:
<form name="myForm" action="addAccessories.php" method="post" onsubmit="return validateForm(this);">
<table border="1" id="IT">
<tr>
<th>Barcode<em>*</em></th>
<th>Current stock</th>
</tr>
<?php
for($id=1; $id<=$usr; $id++){
?>
<tr>
<td><input type="hidden" name="id[]" value="<?php echo $id; ?>" />
<input type="text" name="bar_code<?php echo $id; ?>" id="bar_code<?php echo $id; ?>" value="" /></td>
" type="テキスト" id="説明" 値="" />
<td><input type="text" name="num_stock<?php echo $id; ?>" value="0" id="num_stock<?php echo $id; ?>"/></td>
<?php
}
?>
<tr>
<td> </td>
<td> <button data-theme="b" input type="submit" name="Submit" value="Submit">Add accessories</button></td>
</tr>
</table>
</form>
入力が取得され、テーブルが作成された後、検証フォーム コードを使用してそれを検証しました (検証コードとオートコンプリート コード)。
<?php
$query= "SELECT description from accessories_type ORDER BY description";
$result= mysqli_query($link, $query) or die(mysqli_error($link));
?>
<script>
$(document).ready(function() {
for(i = 1; i < document.getElementById("IT").rows.length; i++) {
var availableConsoles = [
<?php
while($row = mysqli_fetch_array($result)){
echo '"' . $row['description'] . '"' . ',';
}
?>
];
$( "#description " ).autocomplete({
source: availableConsoles
});
}
});
</script>
<script type="text/javascript">
function validateForm(form){
var errors = [];
var c, cs = form.elements;
var reB = /^bar_code/;
var reN = /^num_stock/;
var reD = /^[0-9]+$/;
for (var i=0;i<cs.length; i++) {
c = cs[i];
if (reB.test(c.name) && c.value == '') {
errors[errors.length]= 'You must enter barcode.';
}
if (reN.test(c.name) && !reD.test(c.value)) {
errors[errors.length] = 'Stock number must be a positive integer.';
}
if (errors.length > 0) {
reportErrors(errors);
return false;
} return true;
}
}
function reportErrors(errors){
var msg = "There were some problems...\n";
for (var i = 0; i<errors.length; i++) {
var numError = i + 1;
msg += "\n" + numError + ". " + errors[i];
}
alert(msg);
}
</script>
しかし、それは私が望んでいたようには機能しません。誰かが私が間違っていたことと、それを修正する方法を指摘できますか? また、一般的なjavascriptコードをデバッグする方法(「echo .... in PHP」と同様のコード実行結果を端末に出力するなど)、ご協力ありがとうございます。