私はプログラミングに不慣れで、htm / ajax/phpで遊んでいます。名前と動物の2つのテキストフィールドがあります。名前フィールドに名前を入力します。名前がデータベースに存在する場合、その名前に関連付けられているすべての動物が返され、重複する動物を動物フィールドに入力することはできません。LiveValidationを使用して検証を行っています。
これまでのところ、名前フィールドは正常に機能しています。データベースをチェックし、その名前に関連付けられているすべての動物のコマ分離リストを返し、それらを結果divに挿入します。ただし、結果divはテスト用です。私が欲しいのは、結果リストがここにリストを作成することです:
//animal must not include
var animal = new LiveValidation('animal');
animal.add(Validate.Exclusion, {
within: [
// Insert ajax results here
'cow' , 'pigeon', 'giraffe',
]
} );
これが私のコードの残りです。私がやろうとしていることはかなり単純だと思います。どうすればいいのかわかりません。私を助けるために時間を割いてくれた人に感謝します。
HTML
<input type="text" id="name" name="name"/>
<input type="text" id="animal" name="animal" />
<div class="results"></div>
JavaScript
<script>
//ajax call
$(function(){
$('#name').blur(function(){
var inpval = $('#name').val();
$.ajax({
type: 'POST',
data: ({name : inpval}),
url: 'name_taken.php',
success: function(data) {
$('.results').html(data);
}
});
});
});
//validation from livevalidation.com
//name must be present
var name = new LiveValidation('name');
name.add(Validate.Presence);
//animal must not include
var animal = new LiveValidation('animal');
animal.add(Validate.Exclusion, {
within: [
// How do I insert ajax results here?
'cow' , 'pigeon', 'giraffe',
]
} );
</script>
PHP
//name_taken.php
$input_name = trim($_POST['name']);
foreach($names_table as $row){
$name = $row['name'];
if($name == $input_name){
echo $row['animal'] . ',';
}
}
テーブル構造
//$names_table
| 1 | Dave | animal1 |
| 2 | Mark | animal2 |
| 3 | Dave | animal3 |