Skip to content

Instantly share code, notes, and snippets.

@momota10s
Created March 10, 2015 12:43
Show Gist options
  • Save momota10s/a42a5921a8cb168399f7 to your computer and use it in GitHub Desktop.
Save momota10s/a42a5921a8cb168399f7 to your computer and use it in GitHub Desktop.
簡易掲示板のformです。codeigniterとbootstrapを使用しています。また、非同期通信によってlikeボタンと投稿ボタンによるsubmitでリロードをしない実装となっています。
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
?>
<?php
$username = array(
'name' => 'name',
'value' => set_value('name'),
'size' => '25',
'type' => 'text',
'class' => 'form-control'
);
$comment = array(
'name' => 'comment',
'value' => set_value('comment'),
'rows' => '5',
'cols' => '50',
'class' => 'form-control'
);
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link href="//maxcdn.bootstrapcdn.com/bootswatch/3.2.0/simplex/bootstrap.min.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
<!--JQuery code-->
<script>
$(function() {
$('#form').on("submit", function() {
//HTMLでの送信をキャンセル
event.preventDefault();
var form = $('#form');
var submit = $("#form button[type='submit']");
var input = $("#form input");
var textarea = $("#form textarea");
//入力チェック
if(textarea.val() == ''){
alert('テキストエリアに入力してください');
return false;
}
$.ajax({
url:form.attr('action'),
type:form.attr('method'),
data:form.serialize(),
}).done(function(data) {
console.log(data);
//入力フォームの値を空にする
input.val("");
textarea.val("");
//htmlの書き換え
var Node=document.getElementById("display");
Node.innerHTML= data;
$("#display").html(data);
});
});
$(".display").on("submit","form", function(){
//HTMLでの送信をキャンセル
event.preventDefault();
var form = $('.like_form');
var submit = $(".like_form input[type='submit']");
var id = $(this).find("input").val();
var text = $(this).find("p");
$.ajax({
url: "/board/index.php/like_add",
type: "POST",
data: {
id : id
}
}).done(function(data) {
console.log(data);
$(text).html(data);
}).fail(function(result){
// alert('error!!!');
});
});
}); //$(function(){})
</script>
</head>
<body>
<div id="display_all" class="container">
<div class="panel panel-default">
<div class="panel-heading">
<h4><a href='/board/' >簡易掲示板</a></h4>
</div>
<div class="panel-body">
<form id="form" method="POST" action="/board/index.php/add">
<div class="form-group">
<label for="exampleInputEmail1">投稿者</label>
<!-- <?php //echo form_error('name'); ?> -->
<?php echo form_input($username); ?>
</div>
<div class="form-group">
<label for="exampleInputEmail1">メッセージ</label>
<!-- <?php //echo form_error('comment'); ?> -->
<?php echo form_textarea($comment); ?>
</div>
<button type="submit" id='submit-button' class="btn btn-default">Send</button>
</form>
</div>
</div>
<!--今までの投稿を表示-->
<?php $query = $this->boardmodel->loadComments(); ?>
<?php foreach ($query->result() as $row){ ?>
<div id="display" class="panel panel-default display">
<div class="panel-body">
<div class="form-group">
<label for="exampleInputEmail1">投稿者</label>
<p class='name_text'><?php echo($row->name); ?></p>
</div>
<div class="form-group">
<label for="exampleInputEmail1">投稿日時</label>
<p class='date_text'><?php echo($row->date); ?></p>
</div>
<div class="form-group">
<label for="exampleInputEmail1">メッセージ内容</label>
<p class='comment_text'><?php echo($row->comment); ?></p>
</div>
<form class="like_form" method='POST' action='/board/index.php/like_add'>
<div class="form-group like_display">
<label for="exampleInputEmail1">いいね数</label>
<p class="like_text"><?php echo($row->like_count); ?></p>
</div>
<input type="hidden" name='id' value=<?php echo($row->id); ?> >
<input type="submit" id='submit-button' value='like' class="btn btn-default">
</form>
</div>
</div>
<?php } ?>
</div> <!-- /container -->
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment