location時に複数のclassを適用させたい

このQ&Aのポイント
  • location時に複数のclassを適用させたいときの方法を教えてください。
  • フォームのbuttonをクリックすることで、指定したclassを適用させたいです。
  • 現在の方法ではclassが適用されず、リンクをクリックしたときと同様の動作ができません。
回答を見る
  • ベストアンサー

location時に複数のclassを適用させたい

次のようなフォームの部品があります。 <form name="formname" class="searchform">     <input type="text" name="query" class="searchbox">//     <input type="button" value="検索" class="button" onclick="search()" /> </form> http://www.com/index.phpにテキスト入力フィールドとボタンがあります。 テキストエリアに[任意の文字列]を入れてボタンを押すと、 <li class=list><a class=link href="http://www.com/search.php?que=[任意の文字列]">リンク</a></li> というリンクをクリックしたときと同じ動作を引き起こすようにしたいです。 form action="~"をつけてGETメソッドで送信するのではなく、あくまでもテキストボックスの値を受け取って、 それをクエリとしたhrefをlocateしたいのです。 <script type="text/javascript"> function searches(){ var str1=document.formname.query.value; href = "http://www.com/search.php?que="+str1; location.href = href; } </script> と自分でも書きましたが、これでは <a href="http://www.com/search.php?que=[任意の文字列]">リンク</a> をクリックしたときと同等になってしまいます。 liのclassとaのclassが適用されません。 この2つのclassは、別のjavascriptと連動しているため、どうしても <li class=list><a class=link href="http://www.com/search.php?que=[任意の文字列]">リンク</a></li> をクリックしたときと同様の動作を引き起こしたいのです。 上のフォームのbuttonをクリックすることで、このような動作を起こす方法を教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>liのclassとaのclassが適用されません。 という意味がわかりませんが、、、 >をクリックしたときと同様の動作を引き起こしたいのです。 <form action="search.php"> <input type="text" name="que"> <input type="submit" value="送信"> </form> としておけば、「search.php?que=任意の文字列」にジャンプします。

crouch-tancle
質問者

お礼

質問文が不明瞭だったようなので、一度終了させてもらいます。 ありがとうございました。

その他の回答 (1)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

クッキー使ったら良いんじゃない?

関連するQ&A

  • class="aa bb"だけにルール適用したい

    色々試したり、ネットで調べたりしましたが、CSSでどうにもうまくいきません。 <li class="aa bb"><a href="index.html">ホーム</a></li> このように、classに複数のclassが書かれているものだけに対してCSSルールを適用させたいのですができません。 どのようにすればいいでしょうか? <li class="aa"><a href="index.html">ホーム</a></li> これや、 <li class="bb"><a href="index.html">ホーム</a></li> これには別の適用をさせねばなりません。 .nv_side li.last li.active a, .nv_side li.last li.active a:active, .nv_side li.last li.active a:visited { ルール記述 } .nv_side li.last li.active a:hover { ルール記述 } など、色々やってみたのですが、どうしても適用されませんでした。 「li.last」かつ「li.active」と書かれてあるclassならば、○○のCSSルールを適用せよ、 などと書ければよいのですが・・・ CMSの自動出力ナビゲーションでこうなっていて、これに合わせるしかありません。 ご存じの方いらっしゃいましたら宜しくお願いします。

    • ベストアンサー
    • HTML
  • wordpressの個別投稿ページのリンク

    解説書を読みながらwordpressを使ってホームページの作成をしているのですが、 CSSフレームワークの種類などで躓いて、 ある部分は本のコード、ある部分は解説サイトのコードを貼り付けて進めていたのですが、 個別投稿ページの項でわからなくなってしまいました。 サイトのトップページから個別投稿ページにはどこをクリックすれば辿り着けるのでしょうか。 ↓header.phpの内容です <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- The above 3 meta tags *must* come first in the head; --> <title>たいとる</title> <nav class="navbar navbar-inverse navbar-default"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#"><?php bloginfo('name'); ?></a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <li class="active"><a href="/news">お知らせ</a></li> <li><a href="#">記事一覧</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">Action</a></li> <li><a href="#">Another action</a></li> <li><a href="#">Something else here</a></li> <li role="separator" class="divider"></li> <li><a href="#">Separated link</a></li> <li role="separator" class="divider"></li> <li><a href="#">One more separated link</a></li> </ul> </li> </ul> <ul class="nav navbar-nav navbar-right"> <li><a href="#">Link</a></li> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">Action</a></li> <li><a href="#">Another action</a></li> <li><a href="#">Something else here</a></li> <li role="separator" class="divider"></li> <li><a href="#">Separated link</a></li> </ul> </li> <form class="navbar-form navbar-left"> <div class="form-group"> <input type="text" class="form-control" placeholder="Search"> </div> <button type="submit" class="btn btn-default">Submit</button> </form> </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> <?php wp_head(); ?> </head> ↓front-page.phpの一部です。 <header> <section id="news"> <?php $news = get_posts('posts_per_page=1'); ?> <?php foreach($news as $post): ?> <?php setup_postdata($post); ?> <a href="<?php the_permalink(); ?>"> <div class="alert_box"> <p><?php the_title(); ?> - <?php the_date(); ?></p> </div> </a> <?php endforeach; ?> <?php wp_reset_postdata(); ?> </section> </header> 直感的にはsingle.phpは「/var/www/html/wordpress/wp-content/themes/sample」内にあるので 「」内のリンクがコード内に有るような気がするのですが、どこにも見当たりません。 single.phpにアクセスするためにはトップページ内のまたはトップページコード内のどの記述からアクセスできるのでしょうか。 読みづらくてすみません。よろしくお願いします。

    • ベストアンサー
    • PHP
  • jqueryによるクリック時のclass名追加

    サイドバーのメニューをクリックした際にどのページか分かるように、クリックしたリンクの色を変えたいと思います。 例えばページAリンクをクリックした際にliタグにid=selectを追加し、 他のリンクにもしid=selectがついている場合は、削除するという処理を jQueryで行いたいのですが、どのように記述すればよろしいでしょうか? 分かる方、ご教授お願いします>< ■HTML ----------------------------------- <div id="sidebar"> <ul> <li><a href="">ページA</a></li> <li><a href="">ページB</a></li> <li><a href="">ページC</a></li> <li><a href="">ページD</a></li> </ul> </div> ■CSS ----------------------------------- #sidebar li a { color: #F00; } #select a { color: #0F0; }

  • 隣接セレクタの適用範囲について。

    http://9-bb.com/css%E3%81%A0%E3%81%91%E3%81%A7%E3%83%A1%E3%83%8B%E3%83%A5%E3%83%BC%E3%81%8C%E9%96%8B%E3%81%84%E3%81%9F%E3%82%8A%E9%96%89%E3%81%98%E3%81%9F%E3%82%8A%E3%81%99%E3%82%8B%E3%82%A2%E3%82%B3%E3%83%BC/ 上記のサイトを参考に、CSSで開閉式のリストを作りました。 そのサイトのHTMLの1行目~10行目は下記の様になっています。 <div class="menu"> <label for="Panel1">ボタン1</label> <input type="checkbox" id="Panel1" class="on-off" /> <ul> <li><a href="">リンク1</a></li> <li><a href="">リンク</a></li> <li><a href="">リンク</a></li> <li><a href="">リンク</a></li> <li><a href="">リンク</a></li> </ul> それに対応したCSSは、下記の様になっています。 input[type="checkbox"].on-off + ul{ height: 0; overflow: hidden; } input[type="checkbox"].on-off:checked + ul{ height: 200px; } つまり、 <input type="checkbox" id="Panel1" class="on-off" /> の後ろの <ul>タグに働きかける構造になっています。 それを改良して、<ul>タグの部分だけでなく、幅広い範囲に働きかける構造にしたいです。 そこで、対応しているCSSの隣接セレクタ「+」の後ろの「ul」を「span」にして、HTMLも「span」タグで括りました。 input[type="checkbox"].on-off + span{ height: 0; overflow: hidden; } input[type="checkbox"].on-off:checked + span{ height: 200px; } <div class="menu"> <label for="Panel1">ボタン1</label> <input type="checkbox" id="Panel1" class="on-off" /> <span> <ul> <li><a href="">リンク1</a></li> <li><a href="">リンク</a></li> <li><a href="">リンク</a></li> <li><a href="">リンク</a></li> <li><a href="">リンク</a></li> </ul> </span> しかし、上手く動作しません。 要するに、「ボタン1」で開閉できる範囲を「リスト1」だけでなく「リスト1」「リスト2」の両方に効かせたり、「ul」タグに囲まれた範囲だけでなく、他のタグも含めた範囲にも効かせたいです。 要点を得ない質問になりましたが、アドバイスをお願いします。

    • 締切済み
    • CSS
  • <li>で並べたメニューのリンク色指定class

    <li>で並べたメニューのリンク色指定をクラスごとにする方法が分からず困っています。 図のような状態で、MENUは(赤)、TOPは(青)と2種類の色分けをしたメニューバーを作っています。 それぞれ、a:hoverのときに色が薄くなるよう指定したいのですが うまくいきません。 ●現在やっている方法 ・htmlでリストを組み、それぞれリンクタグにクラス指定  MENU(赤) … class="menu"  TOP(青) … class="top" ・cssでclassのリンク色a、a:hoverを指定 【html】 <ul> <li><a href=~ class="menu">MENU</a></li> <li><a href=~ class="menu">MENU</a></li> <li><a href=~ class="menu">MENU</a></li> <li><a href=~ class="top">TOP</a></li> </ul> 【css】 a.menu:link { color: #000000; border-left-width: 5px; border-left-style: solid; border-left-color: #ff0000; padding-left: 5px; font-size: 10px; margin-right: 10px; } a.menu:hover { color: #cccccc; border-left-width: 5px; border-left-style: solid; border-left-color: #ffc5c5; padding-left: 5px; font-size: 10px; margin-right: 10px; } …class="top"(青)も同じ感じ ---------------------------- クラスごとのリンク色指定がうまく認識されていない気がします。 記述が間違っているのでしょうか?それともそもそもこの方法が間違っているのでしょうか? お恥ずかしながらこの場を借りて質問させて頂きました。 色々調べてみたのですが、苦戦しています。お知恵を貸して頂けると助かります。

  • クリックした<a>タグのみにClass名を付けたい

    複数ある<a>タグの内、クリックした一つだけにClass名を付けたい場合はどうすればよいでしょうか? ソースは以下のようになっています。 <ul id="menu"> <li><a href="#">北海道</a></li> <li><a href="#">東北</a></li> <li><a href="#">関東</a></li> </ul> 「北海道」をクリックした場合 <a href="#" class="check">北海道</a> となり 次に「東北」をクリックした場合は <a href="#" class="check">東北</a> となる そのさい「北海道」についていた class="check" は外れる。 といった事をしたいのです。 現状、jQueryで以下のようにしたはいいのですが、複数にclass="check"が付いてしまい、希望の動作になりませんでした。 <script type="text/javascript"> $(document).ready(function(){ $("#menu li a").click(function () { $(this).toggleClass("check"); }); }); </script> ぜひ、お教えいただければと思います。 よろしくお願いいたします。

  • PHPで同一ページ内でページの読み込みについて

    ナビゲーションから、リンクをクリックすると、ページが読み込まれるプログラムを作っているのですが、どのようにすればよいのでしょか?さっぱりわかりません。アドバイスお願いします。 ↓参考 //ナビゲーション <ul> <li><a href="#">リンク1</a></li> <li><a href="#">リンク2</a></li> <li><a href="#">リンク3</a></li> <li><a href="#">リンク4</a></li> </ul> //リンク1がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> //リンク2がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> //リンク3がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> //リンク4がクリックされたら、これを表示したい。 <?php require("hoge1.php"); ?> ↓イメージ図 index.php内でページの読み込み --------------------------------- | ヘッダー | --------------------------------- --------------------------------- |リンク1|リンク2|リンク3|リンク4| ---------------------------------- ここでページの読み込み --------------------------------- | フッター | --------------------------------- 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 次のhtmlはどのような内容なのでしょうか?

    あるサイトのソースなのですが、普通リンクを貼るときには、<a href="***.html"></a>という風にしますよね?でも下記のソースはそのようになっていません。下記のリンクの貼り方は、どのような仕組みなのでしょうか <li class="top"><span><a href="../" class="visible"></a><a href="../" class="hidden">TOP</a></span></li> <li class="news"><span><a href="../news/" class="visible"></a><a href="../news/" class="hidden">NEWS&amp;INFORMATION</a></span></li> <li class="schedule"><span><a href="../schedule/" class="visible"></a><a href="../schedule/" class="hidden">SCHEDULE</a></span></li> <li class="discography"><span><a href="../discography/" class="visible"></a><a href="../discography/" class="hidden">DISCOGRAPHY</a></span></li> <li class="special"><span><a href="../special/" class="visible"></a><a href="../special/" class="hidden">SPECIAL</a></span></li> <li class="teamayu"><span><a href="../teamayu/" class="visible"></a><a href="../teamayu/" class="hidden">TeamAyu OFFICIAL FANCLUB</a></span></li> <li class="link"><span><a href="../link/" class="visible"></a><a href="../link/" class="hidden">LINK</a></span></li>

    • ベストアンサー
    • HTML
  • javascriptで同じ動作を増やしたい時

    初心者で用語等の知識が不十分なため、伝わりにくいことがありますので、ご了承下さい。 javascriptで、下記のようなシステムを使用しているのですが、 同じシステム(PHP部)を同一ページに使用したい場合、 どのようにjavascript部を応用すれば良いのでしょうか。 PHP部: <div id="rating"> <pre> <ul class="star-rating"> <li class="current-rating" id="current-rating" style="width: <?php $ratingpx = $rating *25; echo $ratingpx;?>px"><!?Currently <? echo $rating ?>/5 Stars.></li> <li><a href="javascript:rateImg(1,'hyouka')" title="1 star out of 5" class="one-star">1</a></li> <li><a href="javascript:rateImg(2,'hyouka')" title="2 stars out of 5" class="two-stars">2</a></li> <li><a href="javascript:rateImg(3,'hyouka')" title="3 stars out of 5" class="three-stars">3</a></li> <li><a href="javascript:rateImg(4,'hyouka')" title="4 stars out of 5" class="four-stars">4</a></li> <li><a href="javascript:rateImg(5,'hyouka')" title="5 stars out of 5" class="five-stars">5</a></li> </ul> </pre> </div> javascript部(この部分かと思うのですが): function rateImg(rating,imgId) { remotos = new datosServidor; nt = remotos.enviar('update.php?rating='+rating+'&imgId='+imgId); rating = (rating * 25) - 8; document.getElementById('current-rating').style.width = rating+'px'; document.getElementById('ratingtext').innerHTML = 'Thank you!'; } ヒントでもかまいません、どうかご教授お願い致します。

  • クリックファンクションがうまくいかない

    class="link-block"のついたliつまりリストをクリックした時、.removeClass('active');でactiveというクラスを削除するようにしたかったのですが、 なぜかリストをクリックしても反応せずに削除されません。 id="maware"のliだけは、反応して削除されます。 CSSにとしてもだめでした。どうもclass="link-block"のついたリストをクリックできていないのかと思っているのですが、上下の順番でクリックできていないのでしょうか? .link-block { display: block; z-index: 99999; } ・ソースコード <div class="kuruttosuru">aaa</div> <!-- drawermenu --> <!-- drawermenu-button --> <div class="modal-button-wrap"> <a class="animation-hover action-hover modal-button-wrap__button"> <span class="modal-button-wrap__border"></span><!-- border --> <span class="modal-button-wrap__border"></span><!-- border --> <span class="modal-button-wrap__border"></span><!-- border --> </a> </div> <!-- drawermenu --> <nav> <div id="nav__drawermenu-wrap"> <ul> <li id="maware"><a class="link-block" href="#js-about-me">ABOUTME</a></li> <li><a class="link-block" href="#js-about-me"><span class="gotootherpage"><img class="top-gnav__link-sixth__goto-other-page" src="img/common-img/goto-other-page.svg" alt="goto-other-page-image"></span>ABOUTME</a></li> <li><a class="link-block" href="#js-gallary">GALLARY</a></li> <li><a class="link-block" href="#js-gmap">MAP</a></li> <li><a class="link-block" href="#js-contact">CONTACT</a></li> <li><a class="link-block" href="http:///index.html">TOP</a></li> <li><a class="link-block" href="http:///index.html">BLOG</a></li> </ul> </div> </nav> <!-- /drawermenu --> ・JS <script> $(function(){ $('.kuruttosuru').on('click', function() { $(this).addClass('active'); return false; }); }); </script> <!-- drawermenu-button-three-whiteline-クリックした際にクルット回るアクション --> <script> $(function(){ $('.modal-button-wrap__button, .link-block').on('click', function() { $(this).removeClass('active'); return false; }); }); </script> ・下記のJSがあると、うまくいかず下記をコメントアウトするとうまくいきます。 下記に何かおかしくなる要素があるのでしょうか? <!-- ページ内遷移 --> <script> $(function(){ // #で始まるアンカーすべてをクリックした場合に処理 $('a[href^=#]').click(function() { // スクロールの速度 var speed = 1000; // ミリ秒 // アンカーの値取得 var href= $(this).attr("href"); // 移動先を取得 var target = $(href == "#" || href == "" ? 'html' : href); // 移動先を数値で取得 var position = target.offset().top; // スムーススクロール $('body,html').animate({scrollTop:position}, speed, 'swing'); return false; }); }); </script> _____________