0

ここに、First_page.htmlとSecond_page.htmlの2つのHTMLページがあります。

First_page.htmlには、特定のURLパラメータでリンクがクリックされたときにページにリダイレクトするコードがあります。

First_page.htmlのコードはこんな感じです。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<a href="Second_page.html?=1">one</a><br />
<a href="Second_page.html?=2">two</a><br />
<a href="Second_page.html?=3">three</a><br />
<a href="Second_page.html?=4">four</a>
</body>
</html>

そして、Second_page.htmlには、URLパラメーターを読み取り、それに応じてドロップダウンメニューを変更するコードがあります。

Second_Page.htmlのコードは次のようになります

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function show(choice) { 
  var success = -1;
  for (var i=0; i < document.form1.selecoption.length; i++) {
    if (document.form1.selecoption.options[i].value == choice) 
      success = [i];
  }
  document.form1.selecoption.selectedIndex=success;
}
</script>
</head>

<body onLoad="var choice = location.href.split('?')[1].split('=')[1];show(choice);">
<form name="form1">
  <select name="selecoption">
    <option value="1">ONE</option>
    <option value="2">TWO</option>
    <option value="3">THREE</option>
    <option value="4">FOUR</option>
  </select>
</form>
</body>

さて、私が欲しいのは、URLパラメータを使用してSecond_page.htmlの2つの異なるドロップダウンメニュー、つまり「selecoption」と「selecsecondoption」を選択する方法です。助けてください....

4

2 に答える 2

0

これを試して :

<script type="text/javascript">    
    document.getElementById('selecoption').value=String(choice);
</script>

Second_Page.htmlの最後に

于 2012-08-23T07:58:50.250 に答える
0

まず、正しいURL形式を使用する必要があります。URLに値を渡すには、対応する変数名が必要です。したがって、修正されたFirst_page.htmlファイルは次のようになります。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<a href="Second_page.html?selecoption=1">one</a><br />
<a href="Second_page.html?selecoption=2">two</a><br />
<a href="Second_page.html?selecoption=3">three</a><br />
<a href="Second_page.html?selecoption=4">four</a>
</body>
</html>

そして、これが修正されたSecond_Page.htmlファイルです。すべてのスクリプトコードがスクリプトコードに移動されます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function getUrlVar(varName) { //returns empty string if variable name not found in URL
  if (!varName) return ''; //no variable name specified. exit and return empty string

  varName = varName.toLowerCase(); //convert to lowercase
  var params = location.search; //get URL

  if (params == '') return ''; //no variables at all. exit and return empty string

  var vars = params.split('?')[1].split('&'); //get list of variable+value strings

  for (var i = 0; i < vars.length; i++) { //check each variable
   var varPair = vars[i].split('='); //split variable and its value

   if (varPair.length > 1) { //has "=" separator

     if (varPair[0].toLowerCase() == varName) { //same variable name?
       return varPair[1]; //found variable. exit and return its value
     } //else: check next variable, if any

   } //else: is not an array. i.e.: invalid URL variable+value format. ignore it
  }
  return ''; //no matching variable found. exit and return empty string
}

function show() {
  var value = getUrlVar('selecoption'); //get variable value
  if (!value) return; //variable not found
  if (parseInt(value) == NaN) return; //value is not a number

  var sel = document.getElementById('form1').selecoption;
  for (var i=0; i < sel.length; i++) {
    if (sel.options[i].value == value) {
      document.getElementById('form1').selecoption.value = value;
      return;
    }
  }
}
</script>
</head>

<body onLoad="show();">
<form id="form1">
  <select name="selecoption">
    <option value="1">ONE</option>
    <option value="2">TWO</option>
    <option value="3">THREE</option>
    <option value="4">FOUR</option>
  </select>
</form>
</body>
</html>
于 2012-08-24T10:23:31.817 に答える