のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,644,725人
昨日:no data人
今日:
最近の注目
人気の最安値情報

元スレ+ JavaScript の質問用スレッド vol.75 +

JavaScript覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

751 = :

Googleマップぐらいなら有難みも感じるけど
普通のフォーム遷移で十分なところに無理やり仕込まれたりするのはちょっと

752 = :

>Ajaxって結局はCGIが扱えない人の窮余の一策ってことですか?
↑どういう意味かいまいちわからない馬鹿な俺にだれか説明してくれ

753 = :

たぶん本人が一番わかってないからスルーでいいと思います

754 :

>>752
Ajaxって(いまいちよくわからないので)結局はCGIが扱えない人の窮余の一策ってこと(にしたいんですけど、いい)ですか?

755 = :

>>744 ありがとうございます!

>> <OPTION VALUE=0>文字列A
>> <OPTION VALUE=0>文字列B
>
>この「文字列A」「文字列B」とかのことなら
>myForm.select2.options[myForm.select2.selectedIndex].text
>で取得出来るけど。そういうことじゃなくて?

おっしゃる通りなのですがこれをテキストエリアへ表示させられません・・。
色々書いたり調べてみたりしましたが、どうしてもNaNと出てしまいます。
下記の/////した行がうまくいきません。

a = new Array()
a[0] = 10;
a[1] = 11;
function myCalc(){time = a[myForm.select2.selectedIndex];}
~他の計算部分~

変数1 = 文字列代入 //////////////////////////////

document.TxArea.value += +変数1+他の計算部分;//////
</head>
<body>
<FORM name="myForm">
<SELECT NAME="select2" SIZE=1>
<OPTION VALUE=0>文字列A
<OPTION VALUE=0>文字列B
<OP.............
</SELECT>
<input type="button" value="計算する" onclick="myCalc()">
<FORM name="TArea"><Textarea>計算結果</textarea></FORM>

756 = :

>>741
赤点上等!(笑)
てか二分してる箇所が雑なのは説明したつもりなんだけど。
線形>>706)よりマシってだけ。

また怒られそうだけど、経験値稼ぎにやっちまった。
>>715と比べてだけど、安定して速い。元ネタは>>696ね。

  getStr: function (txt, w) {
   var str = "";
   if (getWidth(txt) <= w) { return txt; }
   else {
    var n = txt.length, p = n, i = 0, s = "";
    while (n > 0) {
     p = (p > 1) ? Math.ceil(n / 2) : --n;
     if (getWidth(txt.substring(0, i + p) + "...") <= w) {
      s = txt.substring(i, i + p);
      str += s;
      i = str.length;
      n -= s.length;
      continue;
     }
     n = p;
    }
   }
   return str + "...";
  }

どうだろ?及第点取れそうかな:-(

757 = :

>>756
741じゃないけど、getWidthだけ

毎回、測定用の要素を生成して破棄して...これじゃ駄目
再利用できるものは積極的に再利用しないと

var getWidth = (function(){
   var elm, textNode;
   return function(txt){
      if(!elm){
         elm = document.createElement("span");
         textNode = document.createTextNode(txt);
         elm.appendChild(textNode);
         document.body.appendChild(elm);
      }
      textNode.nodeValue = txt;
      return elm.offsetWidth;
   }
})();

758 = :

インデントはせめて にしようぜ
専ブラ上でコピーしたら半角SP変換はされないけど

759 = :

>>758
悪かった、もうこない

760 = :

なにそれ淋しい

761 = :

いらん部分で遅くするのが大好きだなお前ら

762 = :

>>758-760
ワロタ

763 = :

>>757
おぉ!
レベルが上がった。賢さが2ふえた:-)

インデントなんてどーにでもなるよ。
thanks

764 = :

>>763
はいよ がんばってなー

768 = :

やべ。言ってる意味が理解できんぞ
<form>を2つにしないで1つにすればいいって話じゃないのか?

769 = 765 :

>>788
レスありがとうございます。
長文になるため端折っていますが、レイアウトの関係でFORMが入れ子になる予定です。
なので1つはできません。

変なレイアウトにするなということですが。。
下が参考になりそうなので今読んでいるところです
http://dobon.net/vb/dotnet/form/accessanotherformdata.html

770 = 765 :

>>769のURLですが、
全然関係なかったです。。

すみません

771 :

ちみはどぼんのかんりにんかね?

772 = :

>>769
form の入れ子は文法違反。
どうしても form を分けるなら JavaScript が必要だけど、
JavaScript を切っているとうまく動作せんよ?

773 = 765 :

>>771
すみません。タイトルだけで全く関係なかったですね。。。
リンク張ってしまいごめんなさい

こちらを参考になりそうなので自分でやってみます。
http://oshiete1.goo.ne.jp/qa545699.html

776 = :

なんか数年前みたいな質問が増えてないか

777 = :

お前さんが成長しただけでしょう
そりゃあいつだって初心者は湧くさー

778 = :

数年前の質問までいちいち覚えてられっかよ

779 = :

そういや過去ログとかまともに見たこと無いなと思って
過去スレ全集見にいったんだが随分前から止まってるな
まだこのうpろだ機能してるかい?

780 = :

洩れも過去スレ全集のアップデートきぼん。

781 = :

過去スレ見ろとか煽るだけの暇人(笑)もvol1から75までもちろん全部見てるんだろうな?

782 = :

>>781
煽りたいんだろうけど見てなくてもキーワード検索くらいできるだろ

783 = :

見ろって話じゃないのかよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

784 = :

こいつ可哀想すぎるだろ・・・

785 = :

テキストフォームに入力した値をアラートで表示するっていう簡単なプログラムを
オブジェクト指向型に直したときの書き方がまったく検討付かない

786 = :

>>785
何をオブジェクトで表現するつもりなんだ?
そんな必要ないように思えるが。

787 = :

>785
「検討付かない」検討するよりも見当付けたほうが解決しやすいかも。

790 = :

>>789
ありがとう、早速2番目に62~74までアップロードしてきた

1番目のはアップ成功してもなぜか反映されない
反映に時間がかかるだけかもしれないので様子見

3番目のはだいぶ前からおかしいので放置

791 = :

回答するときに過去スレ見ろ言うやつは
過去スレを全部見てから答えるべき

792 = :

すいません、質問があります。
ページ内にボタンがいくつかあり、そのうちのどれか1つをクリックした際に
ボタンに対応するファイルを開く処理を考えています。(ただしファイルはパソコン内にあるファイル)
そこで
<html><head>
<script>
function A1(w1) {window.open(w1)}
</script><head>
<body>
<form>
<input type="button" name="1" value="1へ" onClick="A1('※※')">
<input type="button" name="2" value="2へ" onClick="A2('※※')">
</form>
</body></html>
と書いてみました。そして※※に「自分のパソコン内にあるファイルのパス」を入れたかったのですが
参考書にはネット上のページを開くときの書き方しか載っていませんでした。
なので、どなたかファイルのパスの指定方法を教えていただけませんでしょうか?

794 = :

>>792
file://c:/test.html

795 = :

>>756
O(log n)になってるっぽいです。
二分探索は、O(log n)になるものなんで、
勘違いしてないかなーって思った次第でした。

素直に実装したらこんな感じかと
バグあったらごめんなさい。

getStr2:function(txt, w){
if (getWidth(txt) <= w) { return txt; }
var lhs=0,rhs=txt.length,mid;
while(1){
if(mid === (mid = (Math.floor((lhs+rhs)/2)))) break;
result = getWidth(txt.substring(0, mid) + "...") - w;

if(result < 0) lhs = mid;
else if(result > 0) rhs = mid;
else break;
}
return txt.substring(0, mid)+"...";
}

797 = :

テキストエリアに出力する際は見た目を綺麗に見せるために改行させて表示して、
ボタンでテキストエリアからコピーする際には一行としてコピーさせる方法とかあるもんですか?

例:テキストエリア
AAAAAAA
BBB
CCCCC

例:コピー
AAAAAAABBBCCCCC

ABCの文字数がバラバラなのでテキストエリアのwidth指定では無理なのでjavascriptでコピーする
段階で改行が削除とか出来るものなのかどうかちょっと調べてもわからなかったのでお願いします。

799 = :

>>795
改めて眺めると、不細工な実装に我ながら泣けてくる。。。
その時は頭ぱんぱんで一杯一杯だったけど、ツッコミたくもなるか。

  getStr: function (txt, w) {
   if (getWidth(txt) <= w) { return txt; }
   var clear = 0, search = txt.length, middle;
   while (1) {
    if ((middle = Math.ceil(search / 2)) == search) break;
    if (getWidth(txt.substring(0, clear + middle) + "...") <= w) {
     clear += middle;
     search -= middle;
     continue;
    }
    search = middle;
   }
   return txt.substring(0, clear) + "...";
  }

参考にして書き直した。
思ってもみない展開になったけど、すげぇ面白かったよ:-)

800 = :

意味不明な現象に悩まされています。誰か助けてください。

product[147].Urlには確実に↓のURLが代入されています。(alertで確認)

"http://www.711net.jp/product/n/a01b00/p/9531414"

product[147].Url.match(/711/i)

なのに実行すると"product[147].Url.match is not a function"というエラーが出ます。

しかし、"http://www.711net.jp/product/n/a01b00/p/9531414".match(/711/i)とすると
正常に動作します。
訳分からんです・・・orz


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について