Javascript для генерации строки времени в онлайн-форме - PullRequest
1 голос
/ 21 декабря 2010

У меня есть HTML-форма, подобная этой:

<form action="https://www.123.com/cgi-bin/action" method="post">
<input type="hidden" name="item_name" value="Product Name">
<input type="hidden" name="item_number" value="Product Name_2010_12_21_15_03">
<input type="hidden" name="amount" value="29.99">
</form>

Как использовать javascript для замены вышеуказанного «Product Name_2010_12_21_15_03» динамически генерируемой временной строкой?

Ответы [ 4 ]

0 голосов
/ 22 декабря 2010

Хорошо, я понял:

    <form action="https://www.123.com/cgi-bin/action" method="post" name="My_Form">
      <input type="hidden" name="item_name" value="Product_Name">
      <input type="hidden" name="item_number" value="Product_Name">
      <input type="hidden" name="amount" value="9.99">
      <script type="text/javascript">
      <!--
        function getCorrectedYear(year)
        {
          year=year-0;
          if (year<70) return (2000+year);
          if (year<1900) return (1900+year);
          return year;
        }
        var today=new Date();
        var minute=today.getMinutes();
        if(minute<10) minute='0'+minute;
        var hour=today.getHours();
        if(hour<10) hour='0'+hour;
        var day=today.getDate();
        if(day<10) day='0'+day;
        var month=today.getMonth()+1;
        if(month<10) month='0'+month;
        var year=getCorrectedYear(today.getYear());
        var dateString=year+'_'+month+'_'+day+'_'+hour+'_'+minute;
        document.My_Form.item_number.value=document.My_Form.item_name.value+'_'+dateString;
      //-->
      </script>
    </form>
0 голосов
/ 21 декабря 2010

Вы можете просто установить значение входа:

<input id='product_date_time' type='hidden' name='item_number' value=''>
<script>
  document.getElementById('product_date_time').value = new Date().toString();
</script>

Сценарий, конечно, не обязательно должен следовать сразу за полем ввода. Он просто должен запускаться в какой-то момент после добавления элемента ввода в DOM.

Если вам нужен больший контроль над форматом, вы можете заглянуть в почтенную библиотеку Date.js .

0 голосов
/ 21 декабря 2010

На основании вашего комментария для формата "2010_12_21_15_03":

<input id='product_date_time' type='hidden' name='item_number' value=''>

<script>
function myDate () {
    var d = new Date();
    return d.getFullYear() + "_" + (d.getMonth() + 1) + "_" + d.getDate() + "_" + d.getHours() + "_" + d.getMinutes();
}

document.getElementById('product_date_time').value = myDate();
</script>
0 голосов
/ 21 декабря 2010
<script type="text/javascript">
<!--
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
document.write("Product Name+" + year + "_" + month + "_" + day)
//-->
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...