• ベストアンサー

URL変更2

http://okwave.jp/qa5330543.html 上記の回答5で1つの入力で変更する事はできました。 2つの入力で違う箇所のURLを変えたいです。 X,Yのテキストボックスに入力されたものに、それぞれの初期値の 部分だけ変更させるにはどうしたら良いでしょうか? 1日調べていましたが、進展はありませんでした。 X [ ] 初期値sample8 Y [ ] 初期値test5 <a href="http://sample8.jp/fol/etc_a.html">a</A> <a href="http://test5.jp/fol/etc_b.html">b</A> <a href="http://sample8.jp/fol/etc_c.html">c</A> <a href="http://test5.jp/fol/sample8_d.html">d</A>

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

<html> <head> <script type="text/javascript"> var urlChanger = { keywords:{ 'sample8':'' , 'test5':'' }, source:'', set:function(elm,key) { var target = document.getElementById('target'); if (target) { if (!this.source) this.source = target.innerHTML; this.keywords[key] = elm.value; target.innerHTML = this.source; var k, i=-1, a = target.getElementsByTagName('A'); while (a[++i]) { for (k in this.keywords) { if (this.keywords[k]) a[i].href = a[i].href.replace(k, this.keywords[k]); }}}} } </script> </head> <body> <label>X: <input type="text" onmouseout="urlChanger.set(this,'sample8')"> </label><br> <label>Y: <input type="text" onmouseout="urlChanger.set(this,'test5')"> </label> <div id="target"> <a href="http://sample8.jp/fol/etc_a.html">a</A> <a href="http://test5.jp/fol/etc_b.html">b</A> <a href="http://sample8.jp/fol/etc_c.html">c</A> <a href="http://test5.jp/fol/sample8_d.html">d</A> </div> </body> </html>

maki12
質問者

お礼

前回の回答5で頂いた記述からどこかを変えるだけではなく、 キーワードを設定してurlChanger.set(this,'test5')となるのですね。 これで望む動作が出来ました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.4

#1です。 う~~む。微妙な感じ・・・・ #2への補足の ><a href="http://sample8.jp/fol/sample8_d.html">d</a> >後のsample8はsample8のままで変更されませんでした。 の事象は#1の回答でも同様です。 replace()で単純に置換しているので、最初の1個しか置換されません。 (前々回の質問の最初の回答は、全部置換するようにしていたのだけれど、どうやらそうでもないような補足説明があったので…)(←イイワケ・・・) つぎはぎですが、全部を置換したいのであれば、先に  var re = new RegExp(k,"g"); みたいにgフラグを指定しておいて、  replace(re, this.keywords[k]) で置換すれば全部置換されるようになります。 (ループの内外を逆にしないとばかばかしいかぁ…、いや、そもそも一番最初に定義しておくべきか…)

maki12
質問者

お礼

test5、sample8と1行に2箇所あった場合、「sample8」が変わらなかったのか 1つ目だけ変わって「2つ目」が変わらなかったのか、どちらか判断するために > 試しに、前後どちらもsample8にしてみました。 結果、1つ目の「sample8」は変わったので「2つ目が変わらない」という事が判明しました。 という事でして、対象はページ内全部ですが、同じ物が1行に2つ入る事はありません。 紛らわしくてすみませんでした。 全部を置換する方法まで記述して頂いてありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

yyr446です。失礼しました。 確かに、変わってません。 test5とsample8が両方入っていたのですね。気づきませんでした。 no.1さんの解答で解決してよかったですね

maki12
質問者

お礼

言葉足らずですみませんでした。 4行目に変えたい場所が2箇所ありました。 試して頂きありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

前(質問番号:5342674)の回答番号:No.2の方(yuu_x)の ソースそのままで、ご希望どうりに動いていますよ。 コピペミスじゃないですか?

maki12
質問者

お礼

追記です。 <a href="http://sample8.jp/fol/sample8_d.html">d</a> 試しに、前後どちらもsample8にしてみました。 ですが、前のsample8は変更されましたが、後のsample8はsample8のままで変更されませんでした。 http://の後しか変更されないようです。

maki12
質問者

補足

もう一度コピーし直して試しましたが、結果は同じでした。 4行目 <a href="http://test5.jp/fol/sample8_d.html">d</a> test5は変更されましたが、sample8は元のままでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • URL変更2

    http://okwave.jp/qa5330543.html 上記の回答5で希望する事はできたのですが、同じページ内で 違う箇所のURLを別々に変えたいです。 X,Yのテキストボックスに入力されたものに、それぞれの初期値の 部分だけ変更させるにはどうしたら良いでしょうか? X [ ] 初期値sample8 Y [ ] 初期値test5 <a href="http://sample8.jp/fol/etc_a.html">a</A> <a href="http://test5.jp/fol/etc_b.html">b</A> <a href="http://sample8.jp/fol/etc_c.html">c</A> <a href="http://test5.jp/fol/sample8_d.html">d</A>

  • URL変更

    HTTPリクエストを送信するのにホスト名を変更させたいです。 <a href="http://sample1.jp/test.html">test</A> フォームなどからsample2やsample3と入力すと、上記のsample1が それぞれに置き換わるようにするにはどうしたら良いでしょうか?

    • ベストアンサー
    • HTML
  • エクセル 表において、2項目で検索、表示させたい 

    lookup matchを組み合わせればいいのでしょうか・・・   A  B  C D  1  10 20 30 2 51 100 400 700 3 52 200 500 800 4 53 300 600 900 という表(A1~D4)があり、今、入力項目X,Yがあるとします。 XにはB1~D1の値(10~30)を、YにはXの列の数字(Xが20なら、Yは 400~600)が入ります。で、X、Yを入力したときにAの列で対応する数字を表示させたいのです。たとえば、X20 Y500 と入力すると、52と表示させたいのです。よろしくお願いいたします。

  • C言語のプログラムの問題で質問です。

    C言語のプログラムの問題で質問です。 問題は、 与えられた実数(a,b,c,d)に対して、次の連立非線形方程式の解 を「ニュートン法」を用いて解く。 f1(x,y)=y+ax^2-b=0 f2(x,y)=y^2+cx^2-d=0 ただし初期値(a,b,c,d)を入力でき、上記の方程式の解が画面表示されること。 という問題です。まず、どういう方針で作っていくのかが分かりません。 できるのなら参考例を挙げてもらえればありがたいです。お願いします。

  • 初期条件を代入すると分母が0になる初期値問題

    2階線形常微分方程式 (x^2 y')' = -x^2 を解くと、両辺を x で積分して x^2 y' = -x^3/3 + C 両辺を x^2 で割って y' = -x/3 + C/x^2 ... (b) 両辺を x で積分して y = -x^2/6 - C/x + D ... (a) となります。 ここで初期条件 y(0) = 1, y'(0) = 0 だと y = -x^2/6 + 1 になるらしいのですが、(a) で y(0) = 1 とおいて D について解こうと思っても、 y(0) = -C/0 + D = 1 と分母が0になってしまい計算できません。 (b) y' = -x/3 + C/x^2 の場合も同様で、 y'(0) = C/0 = 0 となってしまいます。 このような場合はどうやって積分定数 C, D を求めればよいのでしょうか? 解き方が間違っていますか? ご教示ください。よろしくお願いします。

  • 昨日の因数分解を解いてみました。不安なので添削お願いいたします。

    (1) 2x^2-6xy+x+3y-1 =(2x^2+x-1)+(-6xy+3y)=(2x-1)(x+1)-3y(2x-1)=(2x-1)(x-3y+1) (3) 2x^2+xy-3y^2+5x+5y+2 =2x^2+(5+y)x-3y^2+5y+2=2x^2+(5+y)x-(3y+1)(y-2) =(2x+(3y+1))(x-(y-2))=(2x+3y+1)(x-y+2) (4) ab(a-b)+bc(b-c)+ca(c-a) =(b-c)a^2-(b^2-c^2)a+bc(b-c)=(b-c)(a^2-(b+c)a+bc)=(a-b)(a-c)(b-c) (5) x^2-3xy+2y^2-2x+5y-3 =x^2-(2+3y)x+(2y^2+5y-3)=x^2-(3y+2)x+(y+3)(2y-1) =(x-y-3)(x-2y+1) (6) (x+4)(x+2)(x-1)(x-3) =(x^2+6x+8)(x^2-4x+3)=(x^4-4x^3+3x^2)+(-4x^3-24x^2-32x)+(3x^2+18x+24) =x^4-8x^3-18x^2-14x+24 (7) 2x^3-12x^2y+18xy^2 =2x(x^2-6xy+9y^2)=2x(x-3y)^2 (8) (ac+bd)^2-(ad+bc)^2 ={(ac+bd)+(ad+bc)}{(ac+bd)-(ad+bc)}={a(c+d)+b(c+d)}{a(c-d)-b(c-d)} =(a+b)(a-b)(c+d)(c-d) (9) (a+b+c)(ab+bc+ca)-abc =(a+(b+c))(a(b+c)+bc)-abc=a^2(b+c)+a(b+c)^2+bc(b+c) =(b+c)(a^2+a(b+c)+bc)=(a+b)(a+c)(b+c) (10) √2=1.4142, √3= 1.7321とするとき、次の値は?     1/ √2=√2/2=0.7071

  • ベクトル 成分

    a↑=(7,1)について、2x↑+y↑=a↑, x↑・y↑=0,|x|=|y|を満たす x↑とy↑の成分を求めよ。という問題で、 解いてみたんですが、 x↑=(b,c) y↑=(d,e)とおいて 2x↑+y↑=a↑より d=-2b+7…① e=-2c+1…② x↑・y↑=0より bd+ce=0…③ |x|=|y|より b^+c^=d^+e^…④ ①②③より -2b^+7b-2c^+c=0…⑤ ①②④より 3b^-28b+3c^-4c=-50…⑥ ⑤⑥より c=-5b+20 ⑤に代入して  26b^-201b+390=0 となってしまい詰まってしまいました。 やはりやり方が間違っているのでしょうか どなたか教えて下さい。

  • javascript リンク先の変更

    遅くに失礼致します。 Javascriptで可能かどうかは分からないのですが リンク先を変更する手段を探しています。 現在ホームページを組んでおり、jQueryのスクリプトお導入した所、 リンク先に数値が指定してありその数値を変更したいのですが 変更するとjQueryが動作しなくなり困っております。 html側のソースは <a href="a?x=344&y=-53" class="a_a"><img src="#"></a> <a href="b?x=-50&y=0" class="a_b"><img src="#"></a> 等となっており、 画像をクリックしたら一度 a?x=344&y=-53.html に移動してから自動で別ページへ誘導する事を 考えてみたのですがその様なファイルが作れるはずもなく行き先を失いました。 クリックしてリンクが a?x=344&y=-53 なら ****.html に誘導等といった事はjavascriptで可能なのでしょうか? また、対策として何か方法があるようでしたらご教授頂ければ幸いです。 何卒、宜しくお願い致します。

  • 写像についてです

    明日学校のテストでこれを証明しないといけないのでお聞きしたいのですが・・・授業が何をやっているのかついていけていないのでよろしくお願いします。 f:X→Y:写像 A,B⊂X C,D⊂Y (1)f-1(A∪B)=f-1(A)∪f-1(B) (2)A⊂B→f(A)⊂f(B) (3)C⊂D→f-1(C)⊂f-1(D) (4)f(A∩B)⊂f(A)∩f(B) (5)f-1(C∩D)=f-1(C)∩f-1(D) (6)f-1(f(A))⊃A (7)f(f-1(C))=C∩f(X)

  • C言語のプログラムの問題で質問です。

    C言語のプログラムの問題で質問です。 問題は、 与えられた実数(a,b,c,d)に対して、次の連立非線形方程式の解 を「ニュートン法」を用いて解く。 f1(x,y)=y+ax^2-b=0 f2(x,y)=y^2+cx^2-d=0 ただし初期値(a,b,c,d)を入力でき、上記の方程式の解が画面表示されること。 という問題です。 普通の連立方程式を解くプログラムならできるのですが、ニュートン法 で解くというのが分かりません。 プログラムを教えてください。参考にしたいです。