0

Javaスクリプトを使用してカレンダーから生年月日の値を取得するPHPフォームがあります。次に、テキストボックスの値から年齢を計算して別のテキストボックスに表示するonchange Javaスクリプトを作成しました..しかし、onchange関数が機能していません...

これは、あるサイトからダウンロードした外部 JavaScript のカレンダーから生年月日を取得するためのテキスト ボックス コードです。これは正常に動作します。カレンダーから選択した日付がテキスト ボックスに表示されます。

<input id="birthdate" name="birthdate" type="text" size="12" maxlength="10" readonly="readonly" onChange="UpdateAge();"  />
                                                <script language="JavaScript">
    new tcal ({
        // form name
        'formname': 'reg',
        // input name
        'controlname': 'birthdate'
    });

これは年齢を計算する関数です。

 <script type="text/javascript">
    function UpdateAge(){
  var bdate = document.getElementById('birthdate').value;
  var cdate = date('d-m-Y');
  var info = (strtotime($cdate)-strtotime($bdate))/(24*60*60*365); 
  alert("hi");
  document.getElementById('age').value = info;
}
</script>

しかし、2番目のテキストボックスでは何も変化しません..これは2番目のテキストボックスのコードです..

<input name="age" type="text" id="age" size="5" maxlength="2"  />

解決策を教えてください..よろしくお願いします..

4

3 に答える 3

3
(strtotime($cdate)-strtotime($bdate))

これはJavascriptコードではありません。PHPと同じ処理を実行できるライブラリを見つける必要がありますstrtotime

于 2013-01-15T16:24:16.623 に答える
2

関数UpdateAge()はPHPコードを持っています

(strtotime($cdate)-strtotime($bdate))/(24*60*60*365); 

これは無効なJSなので、クライアントで作業しません。PHPはサーバー上で実行され、JSはクライアント上で実行されます。

于 2013-01-15T16:24:09.463 に答える
1

strtotime は、strtotime が JavaScript 関数ではない前に述べています。PHP関数です。Date オブジェクトとその解析メソッドを見てください: http://www.w3schools.com/jsref/jsref_parse.asp

于 2013-01-15T16:51:33.007 に答える