この質問に対する答えを見つけるために多くの場所を調査しましたが、私の本当の質問に完全に答えることはありません。同じ Web サイト内の新しいページに移動するための最良の/承認された方法は何ですか? 検索エンジンはあなたが何かを隠していると考えるので、 window.location を使用するのは悪いことだと読みました。しかし、新しいウィンドウ (window.open) を開きたくない場合、他に方法がわかりません。必要に応じて、リンクとフォーム アクションで href アンカーを使用します。しかし、onclick を使用したメニューやボタンがある場合は、別のものが必要になります。
これが私のコードのスニペットです:
私のJavaScript:(1つのオプションがコメントされています)
function gotoCat() {
var catcdF = document.catSelect.catcd.value;
<?php
echo "window.location.href='http://www.mysite.org".$pgmdir."services/busMenu.php?catF='+catcdF; ";
/*
echo "window.open('http://www.mysite.org".$pgmdir."services/busMenu.php?catF='+catcdF,'','resizable=1,scrollbars=1,toolbar=1,top=50,left=300,width=950,height=800,location=0'); ";
*/
?>
}
フォーム内の動的 SELECT リスト (PHP 内):
echo " <select name='catcd' id='catcd' size='8' onclick=gotoCat() > \n";
// display list of categories
if ($numcats == 0) { // print message text only
echo "<option value='0' >".$catMsg."</option> \n";
}
else {
for ($i=1; $i<=$numcats; $i++) {
$catcd_db = $catAry[$i][1];
$catName_db = $catAry[$i][2];
echo "<option value='".$catcd_db."'> ".$catName_db." </option> \n";
}
}
echo "</select>";
ご覧のとおり、ユーザーに選択を許可し、選択すると正しい Web ページに自動的に移動する方法が必要です。これは常に選択リストにあるとは限りません。多くの場合、終了したいときやエラーが発生したいときです。
if (mysqli_connect_errno()) {
echo "<br/> <p style='text-align:center;'> <button type='button'
class='buttonStyle' style='padding: 4px 20px;' value='Exit' ";
echo "onClick=\"window.location.href='http://www.mysite.org/services/catSelbus.php?rc=1&func=Rev'\" > ";
echo "Exit </button></p> ";
}
元のフォームではなく、前のページに移動する必要があるため、「戻る」は使用できません。
したがって、私のナビゲーション方法が本当に的外れでない限り、javascript onClick を使用して同じ Web サイトの次のページに移動するための許容可能な方法を知る必要があると思います。window.location は問題ありませんか、それとも別のものを使用する必要がありますか?
意見や提案は大歓迎です!