Как разобрать и сформировать строку, чтобы открыть веб-страницу из нее с помощью JavaScript - PullRequest
0 голосов
/ 07 марта 2011

У меня есть форма, и мне нужно запустить javascript для анализа информации о странице, хранящейся в форме, чтобы открыть ее.

<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["fname"].value
if (x==null || x=="")
  {
  alert("First name must be filled out");
  return false;
  }
}

function open()
{
     if (validateForm()) {
         1. get the value 
         2. parse the value to get year/month/date (?)
         3. compose the string of webpage (?)
         4. open the webpage (?)
     }
}
</script>

<form name="myForm" onsubmit="return open()" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>

Вход имеет формат 2011/03/05, и мне нужно открыть http://abc/def/2011/03/2011_03_05.html. Требуется парсинг даты, добавление строки и открытие страницы.

ОТВЕТ

<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
  {
  alert("First name must be filled out");
  return false;
  }
  return true;
}

function openPage()
{   
     if (validateForm()) {
        var value = document.forms["myForm"]["fname"].value

        var strYear = value.substring(0,4);
        var strMonth = value.substring(5,7);
        var strDay = value.substring(8,10);

        var strURL = "http://abc/def/"+strYear+"/"+strMonth+"/"+strYear+"_"+strMonth+"_"+strDay+".html";
        alert("strURL");

        //document.location.replace(strURL)
        //document.write(strURL);
        window.open(strURL,"myWindow");
     }
}
</script>

<form name="myForm" onsubmit="openPage()" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>

1 Ответ

2 голосов
/ 07 марта 2011

Предполагая, что ввод всегда имеет форму гггг / мм / дд, вы можете проанализировать строку следующим образом:

var strYear = fname.value.substring(0,4);
var strMonth = fname.value.substring(5,7);
var strDay = fname.value.substring(8,10);

var strURL = "http://abc/def"+strYear+"/"+strMonth+"/"+strYear+"_"+strMonth+"_"+strDay+".html";

// To change the same page with new URL, use:
  document.location.replace(strURL);
// To open a new popup window, use:
 window.open(strURL,"myWindow");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...