ヒストリについて、過去の質問を見るのですがいまいちわからなくって質問させて頂ます。

            フォーム入力 → フォーム確認画面
-------------------------------------------------
 フォーム入力内容が消えてない ← [戻る]をクリック
     有効期限切れじゃない


こんなことやりたいのですが、どうすればいいんでしょうか?

<A HREF="#" onClick="history.back(); return false;">[戻る]</A>
っと過去の質問に書いてあったのですが、これって、期限切れなしで、フォーム入力の内容も、絶対そのままの状態で戻るのでしょうか?
そして、このhtmlタグだけで、javaScriptなしで良いのでしょうか?

javaScript全くわかりませんので、できればスクリプト記載して教えていただけるとありがたいです。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

INPUTTYPE="password"以外でしたら入力内容も残っているはずです。



それから、
<A HREF="#" onClick="history.back(); return false;">[戻る]</A>
はHTMLの中にJavaScriptを埋め込んでいるので、それだけ大丈夫ですよ。
同じ動作で
<A HREF="JavaScript:history.go(-1)">[戻る]</A>
という書き方もあります。

この回答への補足

<A HREF="#" onClick="history.back(); return false;">[戻る]</A>
  ↑
                 これがJavaScriptなんでしょうか?

HREF="#" の#は、このままで良いのですよね?

補足日時:2001/08/09 19:59
    • good
    • 0

onClick="history.back(); return false;"の部分がJavaScriptです。



onClickは「このボタンがクリックされたら」という意味があって、この→"history.back(); return false;"命令を実行してね、ということになります。

A HREF="#"の方はただのHTMLで、ページ内ジャンプのときに<A HREH="#hoge">リンク</A>という書き方をしますよね?
"#"とだけ書くと、そのページ自身にリンクを張るのと同じ動作をします。
JavaScriptを切っているブラウザではonClick~は動かないので、このHREH="#"の方が動きます。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q[javascript][DOM]getElementByIdやremoveChildの戻り値と処理の結果

以前から気になっていたけれど聞かなかったこと。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>QFUMEI テストケース1</title>
<script type="application/ecmascript">
function init(){
var hoge = document.getElementById("hoge");
var fuga = document.getElementById("fuga");

hoge.removeChild(fuga);
alert(fuga); // [object HTMLParagraphElement] ← nullではない

fuga = document.getElementById("fuga");
alert(fuga); // null
}
</script>
</head>
<body onload="init();">
<div id="hoge">
<p id="fuga">ほげ</p>
</div>
</body>
</html>

結局
fuga = getElementById("fuga")によって
何が代入されているのでしょう?

document上のp#fugaへの参照であれば
removeChildの直後
fuga = nullとなっていてもよさそうだなと思っているのですが・・・・。

hoge.firstChild.nodeValueをいじるとp要素内の文字列が変化するし・・・・

以前から気になっていたけれど聞かなかったこと。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>QFUMEI テストケース1</title>
<script type="application/ecmascript">
function init(){
var hoge = document.getElementById("hoge");
var fuga = document.getElementById("fuga");

hoge.removeChild(fuga);
alert(fuga); // [object HTM...続きを読む

Aベストアンサー

documentに入ってないだけで、メモリ内には残っています。
removeChildした後は、documentから参照出来るかどうか、という違いですね。

//removeChildとは全く逆のパターン、appendChild
var p=document.createElement('P');
p.id='foo';
var foo=p;
alert(foo); //[object]
foo=document.getElementById('foo');
alert(foo); //null
document.body.appendChild(p);
foo=document.getElementById('foo');
alert(foo); //[object]

> hoge.firstChild.nodeValueをいじるとp要素内の文字列が変化するし・・・・
状況がちょっとわかりませんが、

<div><p></p></div>

<div>
<p></p>
</div>
の場合の、div.firstChildは違います。
2つめのは改行が入ってるので、firstChildは匿名のテキストノードになります。
ブラウザのバグかどうかまではわかりませんが。。。

hoge.removeChild(fuga);
hoge.firstChild.nodeValue='hoge';
document.body.appendChild(fuga);

とするとどうなります?

改行を入れてなかったらhoge.firstChildはnull(スクリプトエラー)になり、
改行を入れていると、最終的には

<div id="hoge">hoge</div>
<p id="fuga">ほげ</p>

となると思います。

documentに入ってないだけで、メモリ内には残っています。
removeChildした後は、documentから参照出来るかどうか、という違いですね。

//removeChildとは全く逆のパターン、appendChild
var p=document.createElement('P');
p.id='foo';
var foo=p;
alert(foo); //[object]
foo=document.getElementById('foo');
alert(foo); //null
document.body.appendChild(p);
foo=document.getElementById('foo');
alert(foo); //[object]

> hoge.firstChild.nodeValueをいじるとp要素内の文字列が変化する...続きを読む

Qjavascript:(function(q, a, z) { q[a]("f")[z] = Ma

javascript:(function(q, a, z) { q[a]("f")[z] = Math.floor(Math.random()*999999);document.forms[0].submit(); })(document, "getElementById" ,"value");

このブックマークレットをsetIntervalで動かしたいのですがどう書き換えればいいのかよくわかりません。

調べたらstartfncやsetInterval(ここに何かを指定?,ミリ秒);を付ければ可能なことがわかったのですがうまくいきません。
初心者です。何卒宜しくお願いします

Aベストアンサー

こんにちは

>setIntervalで動かしたいのですが~~
setIntervalは以下のような構文になります。
 intervalID = window.setInterval(func, delay);
https://developer.mozilla.org/ja/docs/Web/API/Window/setInterval

ご提示のスクリプトは即時関数の形式をとっていますので、さらに関数化(匿名関数でも可)して上記構文のfuncに当てはめれば良いことになります。
http://qiita.com/katsukii/items/cfe9fd968ba0db603b1e
スクリプトは概ね以下の2行と等価ですので、こちらを関数化しても同じですね。
(フォームに乱数を設定しサブミットする)
 document.getElementById("f")..value = Math.floor(Math.random()*999999);
 document.forms[0].submit();


ところで、ご提示のスクリプトではフォームをサブミットするようになっていますが、通常はサブミットするとページが遷移してしまうので、setIntervalで繰り返すことは難しいはずです。
まぁ、target属性が設定されていたりすれば別ですけれど・・・
使い方がいまいちよくわかりませんが、文法的には
 setInterval( function(){
  ~~~
}, dalay);
とするか、
 setInterval(hoge, dalay);
 function hoge(){
  ~~~
 }
のようにすることで、実行が可能なはずです。(繰り返しできる環境であれば・・・)

こんにちは

>setIntervalで動かしたいのですが~~
setIntervalは以下のような構文になります。
 intervalID = window.setInterval(func, delay);
https://developer.mozilla.org/ja/docs/Web/API/Window/setInterval

ご提示のスクリプトは即時関数の形式をとっていますので、さらに関数化(匿名関数でも可)して上記構文のfuncに当てはめれば良いことになります。
http://qiita.com/katsukii/items/cfe9fd968ba0db603b1e
スクリプトは概ね以下の2行と等価ですので、こちらを関数化しても同じですね。
(フォ...続きを読む

Q[JavaScript]フォーム(GET)の内容からindex?id=1&sort=2を作成する方法

フォームの内容をAjaxでPHPに投げています。
こちらの処理はうまく作れましたが、AjaxではブラウザのURLが変更されないので、
「 window.history.pushState(null, null, url);」
を利用してURLを変更したいと思います。

フォーム(GET)した内容をurlという変数に下記の形式で代入したいです。

求める結果
url='http://www.example.com/index?id=1&name=太郎';

PHPにフォームの内容を投げるため、

var postData = {};
$("#SearchForm :input").each(function () {
postData[$(this).attr("name")] = $(this).val();
});

というふうにしています。
PHP側で受け取った時は

array
(
[id] => 1
[name] => 太郎
)

という形になっています。
これをうまく使ってURLを作るか、またはJavaScriptやjQueryで簡単にURLを作れるのか、どちらの方法でも構いません。

ご回答よろしくお願い致します。

フォームの内容をAjaxでPHPに投げています。
こちらの処理はうまく作れましたが、AjaxではブラウザのURLが変更されないので、
「 window.history.pushState(null, null, url);」
を利用してURLを変更したいと思います。

フォーム(GET)した内容をurlという変数に下記の形式で代入したいです。

求める結果
url='http://www.example.com/index?id=1&name=太郎';

PHPにフォームの内容を投げるため、

var postData = {};
$("#SearchForm :input").each(function () {
postData[$(this).attr("name")...続きを読む

Aベストアンサー

ajaxにjQuery(?)を使っているなら、serializeメソッドを利用するのが簡単かと。
もちろんphp側で作成して送り返しても良いですが・・・

http://api.jquery.com/serialize/

QIEの[ツールバー]-[標準のボタン]、[アドレスバー]を消したい。

IEのツールバーの
・標準のボタン
・アドレスバー
を消す命令ってありませんか?
「Open時にダイアログ形式で開く」以外の方法を教えてください。
要は、ページ初期表示時に強制的に消したいのですが。。。

Aベストアンサー

・・・たしか、無い筈、ですねぇ。
強いて言えば、IEをキオスクモードで起動する手はありますね。

IEXPLORE -k 'ファイル名'

ですね。
目的が不明なので、役にたたないかもしれませんが(^^;

QJavaScriptのhistory.back(戻る)の命令が実行しません.

教えて頂きたいことがあります.
JavaScriptのhistory.back(戻る)を下記の通り記述しました.

<A href="Javascript:void(0)" onClick="history.back()" target="_self">
<IMG src="画像ファイル.gif" width="100" height="50" border="0" alt="戻る"></A><BR>

以前から使用している方法で,IE5までは間違い無く
動作していたのですが,PCの環境XPでIE6を使用した所,動作がしなくなってしまいました.
何か問題があるのでしょうか?アドバイスを頂けましたら幸いです.よろしくお願いいたします.

Aベストアンサー

<a href="Javascript:void(0)" onclick="history.back();return false;" target="_self">
onclickにreturn false;を追加してみてください。


人気Q&Aランキング

おすすめ情報