勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

ajaxを使わずに非同期っぽくsubmitする

      2014/05/19

ajaxを使わずに見た目はページ遷移せず、
画像を含めたformをsubmitしているソースがあり、
なるほどと思ったのでメモ。

■index.php(formを置いているところ)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transtional//EN" "http://www.w3c.org/TR/html4/loose.dtd">
<meta http-equiv="content-type" content="text/html"/>
<meta cherset = "UTF-8">
<html lang="ja">
<head>
<title>index</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(function(){
$(document).on('click', '#submitBtn', function(){
if ($('#name').val() != '') {
$('#postForm').submit();
}
});
});
</script>
</head>
<body>
<h1>index</h1>
<form action="receive.php" target="submitTarget" method="post" name="postForm" id="postForm">
<input type="text" name="name" id="name">
<input type="button" value="submit" id="submitBtn">
</form>
<iframe scr="iframe.php" width="1" height="1" id="submitTarget" name="submitTarget" style="opacity:0;"></iframe>
</body>
</html>

■iframe.php
<!--ソースは空でOK-->

■recieve.php
<?php
$mysqli = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
$mysqli->set_charset('utf8');

if ($_POST['name']) {
$sql = '
INSERT INTO form
(name)
VALUES
("'. $mysqli->real_escape_string($_POST['name']) .'")
';
$row = $mysqli->query($sql);
echo (!$row) ? 'false' : 'true';
}
?>

■その他
formをiframe対して投げているっぽい。
結果のtrue or falseについてはiframeのbody内に
表示されるから、

$('#submitTarget').contents().find('body').html('');

とかで取って処理の分岐が行える。

 - HTML, 画像

  関連記事

110126-HTML5_Logo
画像の一部分のみリンクを設定する方法

画像を表示させて、その画像の一部分のみにリンクを張りたかった。画像を重ね合わせた ...

images
PHPで画像のアップロード

<php define('IMAGES_DIR', dirname($_S ...

images
独自タグからタグへの変換function

独自タグは##IMG1##みたいな感じ。 画像ファイル名は「ファイルパス/seq ...

images
画像登録用のfunction

<?php /****** 画像アップロード用function 画像送付側 ...

images
smart_resize_imageで縦横の比率関係なく、固定リサイズ

PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったs ...

110126-HTML5_Logo
formでdisplay:none;にしてても送信される

formで特定の部分をdisplay:none;で非表示にしてても 内容は送信さ ...

other
アタリ(noimage)画像の自動生成

縦200×横150pxのno-image画像みたいなのが欲しかった。 探すと便利 ...

other
画像アップの注意(パーミッション)

家と仕事場でここのところ画像関係を使っており、 まったく関係ないサーバーにアップ ...

images
PHPで画像のフォーマット(拡張子)の変換

画像のアップロードでjpg/png/gif形式を受け付けつつ、 最終的にjpgで ...

Top-Ten-Google-SEO-Ranking-Factors
metaタグでSEO

同じページに複数項目があり、その項目によって SEO対策を行う、というものがあっ ...