人に聞けない痔の悩み、これでスッキリ >>

よろしくお願いします
<form>の送信時に一緒に日付・時刻を送信したいのですがどのようすればよろしいですか?
また<input type="hidden">を使って、隠しデーターとして送信はできますか?

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

A 回答 (2件)

こういうソースをformに仕込むと、


​<script>
document.write('<input type="hidden" name="date" value="' + (new Date).toString() + '">');
</script>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

HTMLはこのようになるので
<input type="hidden" name="date" value="Tue Aug 21 2012 00:44:36 GMT+0900 (東京 (標準時))">

日時を送ることは出来ます。が
2012年8月21日0時44分 みたいに整形するのは1行では無理で、しかも面倒くさい事なのでもっと具体的な内容がないとなんとも…。
hiddenはフォーム部品が表示されないですがnameに対するvalueが設定されていれば送信はされますよ。
    • good
    • 0
この回答へのお礼

回答ありがとうございました!!!

お礼日時:2012/11/18 01:14

端末側のパソコンの時間は結構ずれているので、サーバー側で処理したほうがよいのでは?


($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime();
・・

 どうしてもパソコン側の時間を取得したければ、javascriptを使ってtimeを送らせてサーバー側で
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = $form{'time'};
 が簡単でしょう。ただし、javascriptが無効にされているブラウザでは意味ありません。パソコンの時間がずれているか否かを判別する用途ならともかく、通常はサーバーの時間で一元管理すべきでしょう。
    • good
    • 0
この回答へのお礼

回答ありがとうございました!!!

お礼日時:2012/11/18 01:14

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

Q現在時刻をボタンクリックで表示

下記の現在時刻を表示させるスクリプトを書いたのですが、
これをボタン
<INPUT type="button" value="時刻" onClick="">
を押したら表示という形にさせたいと思っています。
どうすればよいのでしょうか?お力をお貸しください、お願いします。
_______________________
<script language=javascript>
<!--
function writedate(date){
var obj=new Date(date)
var y=obj.getYear()
if(y<2000){y+=(y<70?2000:1900)}
var m=obj.getMonth()+1
var d=obj.getDate()
document.write(y+" 年 "+m+" 月 "+d+" 日 ")
}
writedate(new Date())
//-->
</script>
_______________________

Aベストアンサー

こんばんわ!
--------------------------------------------------
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>

<FORM name="aaa">
<INPUT type="text" name="bbb" size="50">
<INPUT type="button" value="時刻" onClick="time()">
</FORM>

<SPAN ID="layer01"></SPAN>

<SCRIPT LANGUAGE="JavaScript">
<!--
function time(){
dd = new Date();
Yr = dd.getYear() + "年"
Mn = dd.getMonth() + 1 + "月";
Dt = dd.getDate() + "日" ;
Hr = dd.getHours() + "時" ;
Mi = dd.getMinutes() + "分" ;
Se = dd.getSeconds() + "秒"

document.aaa.bbb.value = Yr + Mn + Dt + Hr + Mi + Se ;
layer01.innerHTML = Yr + Mn + Dt + Hr + Mi + Se ;

window.setTimeout("time()",1000);
}
// -->
</SCRIPT>


</BODY>
</HTML>
--------------------------------------------------
このような感じでよいのでしょうか。。。
上ではテキストボックスを使った例と、使わない例を一緒にしてます。
IE5.5で確認してます。

こんばんわ!
--------------------------------------------------
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>

<FORM name="aaa">
<INPUT type="text" name="bbb" size="50">
<INPUT type="button" value="時刻" onClick="time()">
</FORM>

<SPAN ID="layer01"></SPAN>

<SCRIPT LANGUAGE="JavaScript">
<!--
function time(){
dd = new Date();
Yr = dd.getYear() + "年"
Mn = dd.getMonth() + 1 + "月";
Dt = dd.getDate() + "日" ;
Hr = dd.getHours() + "時" ;
...続きを読む

Qページ移動した場合の、フォームデータの保持

PHP初心者です。

私が作っているPHPのシステムで、ユーザーがフォームデータ入力途中に、他のページに移動すると、「戻る」ボタンなどですぐに戻ってきても、入力したフォームデータが消えてしまいます。

例えば、この「教えてgoo」の「新しい質問をする」のフォームはPHPで生成されていますが、

http://oshiete1.goo.ne.jp/oshiete_new.php3?c=256

途中でちょっと他のページに行っても、(すぐ戻れば?)入力したデータは保持されますよね。

こんなふうにしたいのですが、どうすればよいでしょうか?
「戻る」ボタンで戻ったときに、サーバーから毎回新しいXHTMLをロードしてくるので、入力データがクリアされてしまうのでしょうか?

フォーム入力⇒確認画面⇒「戻る」ボタンで戻るとフォームデータが保持されないということではなく、あくまでフォーム入力中に、ちょっと他のページに行って戻ってくるという設定です。

よろしくお願いします。

Aベストアンサー

原因はセッション関連にありそうですね。
session_cache_limiter()
というのは指定されていますか?
恐らく現状はnocache(ページ内容をキャッシュしない状態)になっているのだと思います。

もし
session_cache_limiter('nocache');
となっていれば、publicもしくはprivateへ変更してみて下さい。
ないようでしたら、session_start()の前に
session_cache_limiter('public');
session_cache_limiter('private');
のどちらかを記述してみて下さい。
publicだと、クライアントマシン、プロキシのどちらもキャッシュを保持しますが、
privateだとクライアントマシンのみキャッシュを保持します。
どちらが良いのかは使い方によると思いますし、
nocacheでないと困る時もありますから。

session_startを削除してしまって良いかどうかは、
他の部分の処理との関連が分からないので何とも言えないです。

一度試してみて下さい。

参考URL:http://jp.php.net/session_cache_limiter

原因はセッション関連にありそうですね。
session_cache_limiter()
というのは指定されていますか?
恐らく現状はnocache(ページ内容をキャッシュしない状態)になっているのだと思います。

もし
session_cache_limiter('nocache');
となっていれば、publicもしくはprivateへ変更してみて下さい。
ないようでしたら、session_start()の前に
session_cache_limiter('public');
session_cache_limiter('private');
のどちらかを記述してみて下さい。
publicだと、クライアントマシン、プロキシのどち...続きを読む

Qtableタグとformタグの組み合わせ

tableタグとformタグの組み合わせでどのように記述すれば、構文上正しいのでしょうか?
私は下のパターンで書いておりますが、間違いでしたら早めに改めたいので
お聞きしました。

<table>
<form>
<input type="hidden" name="a" value="1">
<tr>
<td>
<input type="text" name="b" value="">
</td>
</tr>
<tr>
<td>
<input type="submit" value="OK" value="">
</td>
</tr>
</fomr>
</table>

Aベストアンサー

恐らく、<form>タグを入れると1行分の隙間ができるのでそのように記述しているのでしょう。私も4年ほど前に何かの雑誌でそのように記述しましょう、を確かに見ました。W3Cの理論を無視すれば別に表示するのだから構わないとも思います。
しかし、私の場合、今は、前者様の回答のように<table>の外に記述します。そして、スタイルシートで
<form style="margin:0px;">
とすれば、隙間が無くなります。

QFORMで送信ボタンと戻るボタンを2つつけてそれぞれ遷移先を変えたい

  
以下のような画面を作りたいのですが↓

--------------------------------------------------------------------------------
● a.php (ユーザ情報入力画面) ※フォームに入力する画面
 
 <FORM method="POST" action="b.php">
  <INPUT type="text" name="mail">
  <INPUT type="submit" name="submit" value="確認">
 </FORM>

● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面

 <FORM method="POST" action="c.php">
  <!-- ここには、フォームに入力された値を表示する -->
  <INPUT type="submit" name="submit" value="登録"> // c.php に遷移する
  <INPUT type="submit" name="submit" value="戻る"> // a.php に戻る
 </FORM>

● c.php (完了画面)
--------------------------------------------------------------------------------
b.php について質問なのですが、
b.phpにおいて、登録ボタンと戻るボタンを2つつけて、
それぞれ遷移先を変えたいのですが、どうすればいいんでしょうか・・・?
<FORM method="POST" action="c.php">と書いてしまうと、
戻るボタンを押しても戻らずに、c.phpに遷移してしまいますよね??
こういう場合ってJavaScriptとかで遷移先を指定するんですか・・?
もしそうでしたら、JavaScriptがよくわからないので
できればサンプルコード示していただけると助かります・・・。
  

  
以下のような画面を作りたいのですが↓

--------------------------------------------------------------------------------
● a.php (ユーザ情報入力画面) ※フォームに入力する画面
 
 <FORM method="POST" action="b.php">
  <INPUT type="text" name="mail">
  <INPUT type="submit" name="submit" value="確認">
 </FORM>

● b.php (ユーザ情報入力確認画面)※フォームに入力された値を表示する画面

 <FORM method="POST" action="c.php">
  <!-- ここには、フォームに入...続きを読む

Aベストアンサー

はじめまして。

<INPUT type="submit" name="submit" value="登録" onClick="form.action='c.php';return true">
<INPUT type="submit" name="submit" value="戻る" onClick="form.action='a.php';return true">

でいいと思います。(実際、このコードで使っています)
値を渡すには、FORM内にhiddenで、値を設定しておいて、methodをPOSTに設定しておけば、渡せます。

Qフォームメールの送信日時設定方法

お世話になります。HP制作初心者です。
フリーのフォームメールをCGIで設置したのですが、受信メールに送信日時を記載する機能がありませんでした。
javascript等を使ってフォームの送信日時を受信メールに表示させる方法がありましたら、ご教授頂ければと思います。
宜しくお願いします。

Aベストアンサー

普通に日付オブジェクトをメールのbodyに貼ればいいだけです。
しかし、この時刻はユーザのPCの時刻なのであまり信頼できま
せん。クイズの回答や先着順が意味を持つ場合にはやはりCGI
の時刻を使うのがベストです。

QHTMLフォームのSELECTの幅を一定にするためには?

HTMLフォームのSELECTの幅を一定にするためにはどのようにすれば
いいのでしょうか?

CSS等で設定できるとありがたいのですが、やり方がわかりません。

Aベストアンサー

<select style="width: 200px">

QonClickで関数呼出し後に、結果に応じてsubmitを実行する方法

JavaScriptで、
function func() {
 if (a==0) {
  alert("処理しない");
  return false;
 }
 return true;
}
と、a=0ならfalseを返し、それ以外ならtrueを返す関数を定義しています。

そして、FORMタグで
<FORM NAME="FormName" ACTION="next.html">
<INPUT TYPE="button" VALUE="next" NAME="button1" onClick="return func();submit();">
</FORM>
と記述しています。
要は、ボタンを押下した際にfunc関数がtrueを返せば、next.htmlに
遷移させたいのですが、上記記述では、遷移しません・・・
onClick部分にonClick="return func(),submit();"と記述した場合、
func関数の実行結果がtrueでもfalseでも遷移してしまいます。
そこで、なんとなくonClick="return func()&&submit();"と記述してみたところ、
func関数がtrueの時のみうまく遷移するようになりました。

これは偶然そう動作しているのでしょうか、それとも上記は正しい記述方法なのでしょうか?
正しい記述方法ならいいのですが、上記以外に正式な記述方法があれば
教えていただけないでしょうか?

※TYPE="submit"にすればいいとは思うのですが、buttonで実現したいと
考えております。

JavaScriptで、
function func() {
 if (a==0) {
  alert("処理しない");
  return false;
 }
 return true;
}
と、a=0ならfalseを返し、それ以外ならtrueを返す関数を定義しています。

そして、FORMタグで
<FORM NAME="FormName" ACTION="next.html">
<INPUT TYPE="button" VALUE="next" NAME="button1" onClick="return func();submit();">
</FORM>
と記述しています。
要は、ボタンを押下した際にfunc関数がtrueを返せば、next.htmlに
遷移させたいのですが、上記記述では、遷移しませ...続きを読む

Aベストアンサー

3つのパターンをみる限り、理由は以下の通りと思います。
1.セミコロン(;)で区切った場合、
この場合、「return func();」と「submit();」とは別の文です。returnはその時点の値を戻して、それ以降の動作を打ち切ってしまいます。よって、onClickイベントはfuncメソッドの戻り値(true/false関係なく)を戻して、そこで終了、それ以降のsubmitは実行しないとなります。

2.カンマ(,)で区切った場合、
この場合、「return func(),submit();」が1つの文となります。この「,」は、左右の式を評価して、右式を結果とする演算子です。よって、funcメソッド、submitメソッド両方を評価するため、funcメソッドの戻り値に関係なく、submitされます。

3.&&で区切った場合、
論理演算子「&&」は、左右ともにtrue(0以外)の場合のみtrueとする演算子です。また、2項論理演算子は左式から評価し、左式だけで全体の結果がわかる場合、右式を評価しません。よって、funcメソッドがfalseを戻した場合、その時点でsubmitを評価しなくても演算結果は必ずfalseとなるのでそこで打ち切られ、trueを戻した場合、submitを評価しないと演算結果を得られないため、遷移したわけです。「&&」を「||(論理和)」に変更すると逆の結果得たと思います。

さて、では3の「&&」が正しいかと言われたら、文法上は正しいです。ただし、他人がみてわかるとは思えません。
そこで、以下の記述はいかがでしょう。読んでみてソースを理解できますか。


<FORM NAME="FormName" ACTION="next.html">
<INPUT TYPE="button" VALUE="next" NAME="button1" onClick="func()">
</FORM>

(中略)

// funcの定義
function func() {
 if (a==0) {
  alert("処理しない");
  return ;
 }
 document.FormName.submit();
}

要は、ボタンを押されたら、funcを呼び出せ。
funcでは、aが0ならば、そこで終了しろ。
そうでなければ、documentオブジェクト内のFormNameと言う名前のオブジェクトのsubmitメソッドを呼べ。
です。

3つのパターンをみる限り、理由は以下の通りと思います。
1.セミコロン(;)で区切った場合、
この場合、「return func();」と「submit();」とは別の文です。returnはその時点の値を戻して、それ以降の動作を打ち切ってしまいます。よって、onClickイベントはfuncメソッドの戻り値(true/false関係なく)を戻して、そこで終了、それ以降のsubmitは実行しないとなります。

2.カンマ(,)で区切った場合、
この場合、「return func(),submit();」が1つの文となります。この「,」は、左右の式を評価して、右...続きを読む

Qテーブル内の文字サイズを変更したい。

HTMLのテーブル内の文字サイズを変更したいのですが。
イマイチ上手くいかずに悩んでいます。
出来れば全体的に<TABLE></TABLE>のほうでいじれますか?
<TD>タグや<TR>タグのところでいじくるのですか?

Aベストアンサー

いろいろやり方はありますが
文字単位でサイズを変更するには
#2の方法ですね。

テーブルごとやセル(<TD>)ごとにサイズを変更するには
スタイルシート(CSS)を使用します。

テーブルごとにサイズを変更する場合
<TABLE style="font-size : 20px;">

セル(<TD>)ごとにサイズを変更する場合
<TD style="font-size : 20px;">あああ</TD>

#1の方法だとページ内の全てのセル(<TD>)に設定することになります。

スタイルシート(CSS)はこれら以外にも
いろいろな設定方法があります。

Qhiddenに値を設定する方法

いつもお世話になります。

selectboxの選ばれている項目の番号、いわゆるselectedIndexをhiddenに設定してsubmitで取得したいのですが、エラーがでてしまいます。
いまいちhiddenの使い方もわかっていないので見当違いな書き方をしているかもしれませんが、
現在の状態を以下に示しますのでご指導よろしくお願いします。

[javascriptの中]
function err(){
document.myForm.NaNo.value = myForm.cbName.selectedIndex;
}
[htmlの中]
<body onLoad=err()>
<form name="myForm" method="post">
<select name="cbName">
<option value=""><br></option>
<option value="花子">花子
<option value="和子">和子
<option value="良子">良子
</select>
<input type="hidden" name="NaNo">

いつもお世話になります。

selectboxの選ばれている項目の番号、いわゆるselectedIndexをhiddenに設定してsubmitで取得したいのですが、エラーがでてしまいます。
いまいちhiddenの使い方もわかっていないので見当違いな書き方をしているかもしれませんが、
現在の状態を以下に示しますのでご指導よろしくお願いします。

[javascriptの中]
function err(){
document.myForm.NaNo.value = myForm.cbName.selectedIndex;
}
[htmlの中]
<body onLoad=err()>
<form name="myForm" method="post">
...続きを読む

Aベストアンサー

関数の呼び出しを、
<body onLoad=err()>
のままにしていませんか?
bodyの読み込み時に設定しても、その時点ではセレクトは選ばれていないわけですから「0」にしかなりません。

onLoadイベントを削除して、#1さんのおっしゃっているようにsubmitボタンにonClickイベントで設定するか、SelectタグにonChangeで設定すれば動作します。

windows2000、IE5.0で確認しました。
もしそれで動かないようなら、動かないソースを提示してみてください。

QボタンをクリックでPHP文を実行

ボタンをクリックしたときのみPHP文を実行したいのですが・・・

<input type="button" onClink="<?php~?>">
でいけるかと思ったのですが、
ページ表示時に<?php~?>が実行されてしまい、うまくいきませんでした。

onClink="window.open(test.php)"
という方法以外でお願いします。

Aベストアンサー

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、遷移させることが大前提で動作します

ですから、ボタンを押してその場でJavaScriptと同じようにPHPが動くなんてことはありえません。
ボタンを押したらサーバーにリクエストする という動作ならば可能です。

つまり
質問で言われているような
onClink="window.open(test.php)"

<form name="f1" action="test.php" method="post">
<input type="submit" name="submit" value="submit" />
</form>
等のような形になります

こういった一般的な方法だと いちいち画面が切り替わったようになってしまうのを嫌って Ajaxでコレと同じことを、画面を切り替えずに行っているだけに過ぎません

AjaxはもともとJavaScriptの機能である非同期通信をつかったもので。Ajaxという言語があるわけではありません

Ajaxを利用するのであれば、JavaScriptのXMLHttpRequestを使って非同期通信できるような実装をしなくてはなりません
簡単にサンプルコードで書けるほど単純なものでもありません

一般的なサーバーサイドスクリプトの動作として、
ボタンを押す->サーバーへリクエストする->サーバーが処理する->クライアントに何かしらの結果を返す(出力する)です
つまり、PHP等のサーバーサイドスクリプトは、...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング