その巨大な質問は、いつか読む必要があります。申し訳ありませんが、私は新しい Web 開発者です。本当に助けが必要です。それは 1 ~ 2 行の問題だと思います。そのため、数分で解決できることを願っています。 . それほど簡単ではない場合でも、問題ありません。対処する準備ができています。
このコードを見てください:
<?php
foreach($array as $value)
{
?>
<div>
<div class="topic" onclick="showDetails()">
<h2>Topic</h2>
</div>
<div class="details">
<div>
<input type="text" name="comment" id="comment" onkeypress="showUser()" />
</div>
</div>
</div>
<?php
}
?>
ここでは、いくつかの要素があり、それぞれに独自のコンテンツ ("topic" div、"details" div) がありますが、ループのために、<div>
この項目がどれだけ存在するかはわかりません。最初はすべての「詳細」divが非表示になります。トピックをクリックすると、次の(対応する)「詳細」divが表示されます。そのために関数を使用します。関数は次のとおりです。<div>
foreach
showDetails()
<script>
$(document).ready(function(){
$(".details").hide();
}
function showDetails()
{
$(this).(".details").show();
}
</script>
「詳細」divを正しく検出できません。何をすべきか教えてもらえますか?
だから、これは私の最初の問題でした。私の2番目の問題は次のとおりです。
「詳細」の div には、入力ボックス ( <input type="text" />
) があります。ユーザーがそこに入力できるようになり、データベースに保存された後に表示されるようにしたいと考えています。Facebook のコメント機能のように、投稿にコメントすると、ページ全体をリロードすることなく、数秒で保存されて表示されます。showUser()
それを行うためのものです。私がshowUser()
機能のために試したこと:
<script type="text/javascript">
function showUser()
{
$(this).keypress(function(e){
if(e.which && e.which==13)
{
$.post("<?php echo base_url();?>help/comment",
{
q:this.value
})
}
else
{
}
});
}
</script>
これは Code Igniter プロジェクトであるため、「ヘルプ」は「コントローラー」であり、「コメント」はそのコントローラー内の関数です。comment()
関数は次のとおりです。
public function comment()
{
$this->load->model('model');
$topic=array();
$topic['user_id']=1;
$topic['topic_id']=1;
$topic['comment']=$_POST["q"];
$this->model->comment($topic);
}
このコードは、ユーザーのコメントをデータベースに保存していません。
この大きな質問を評価してくれてありがとう!