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

このエントリーをはてなブックマークに追加
952Name_Not_Found:2006/05/28(日) 03:44:01 ID:lSoYIgCd
フォームに出力することをやっているのですが
<script language="JavaScript">
<!--
a="あいうえお";
b="かきくけこ";
document.myform.myforma.value = a;
document.myform.myformb.value = b;
// -->
</script>

<form name="myform">
<input type="text" name="myforma">
<input type="text" name="myformb">
</form>

これだと表示されません。
どこが間違っているのか指摘をおねがいします。
953Name_Not_Found:2006/05/28(日) 04:14:11 ID:???
フォームが登場する前にスクリプトが実行されてるからだね。
954Name_Not_Found:2006/05/28(日) 05:01:56 ID:lSoYIgCd
>>953
理解できました。ありがとうございました。
955Name_Not_Found:2006/05/28(日) 05:41:51 ID:lSoYIgCd
<script language="JavaScript">
<!--
count=1;
function cn(){
document.cform.time.value=count+"秒";
count=count+1;
}
// -->
</script>

<form name="cform">
<input type="text" name="time">

<script language="JavaScript">
<!--
setInterval("cn()",1000);
// -->
</script>

</form>

このようにフォームを使うと1秒ごとにカウントされるのですが、
956955:2006/05/28(日) 05:42:35 ID:lSoYIgCd
<head>

<script language="JavaScript">
<!--
count=1;
function cn(){
count=count+1;
}
// -->
</script>

</head>

<body>

<script language="JavaScript">
<!--
document.write(count+"秒");
setInterval("cn()",1000);
// -->

</body>

とやるとカウントされません。
カウントをするような時はフォームを使わないといけないのでしょうか?
それとも記述が間違っているのでしょうか?
よろしくお願いします。
957Name_Not_Found:2006/05/28(日) 05:57:13 ID:???
手取り足取りスレにいっといで
958Name_Not_Found:2006/05/28(日) 09:31:20 ID:???
>>956 ボケ!!! FAQ>>3をまず読め!!! つinnerHTML
>>957 ボケ!!! FAQで解決するもんを誘導すな!!!
959Name_Not_Found:2006/05/28(日) 11:29:37 ID:???
りんご
みかん
メロン

上記のように DIV や TABLE などで縦方向1列にデータが入っている状態で、
ドラッグ&ドロップで簡単に並べ替えができるスクリプトありますでしょうか?

並べ替えした後に決定ボタンでデータの順番を保存したいと思います。
各データには PRIMARY KEY が設定されていて、
その数値を GET で送信の予定です。例( *.php?3-5-1-2-4-6 )
960959:2006/05/28(日) 13:03:20 ID:zXmn2f1t
<script type="text/javascript">
function move ( direction, num1 ) {
var input = document.getElementsByTagName("input");
var num2 = (direction=='u') ? num1-1: num1+1;

var value1 = input[num1].value;
var id1 = input[num1].id;

input[num1].value = input[num2].value;
input[num1].id = input[num2].id;

input[num2].value = value1;
input[num2].id = id1;
}
function order_submit() {
var input = document.getElementsByTagName("input");
var order = new Array();
for (i=0; i<input.length; i++) { order[i] = input[i].id; }
alert( order.join('-') );
}
</script>
<button onclick="order_submit();">決定</button><button>キャンセル</button><br>
<input type="text" id=1 value="りんご" readonly><a href="#" onclick="move('d',0)">↓</a><br>
<input type="text" id=2 value="みかん" readonly><a href="#" onclick="move('u',1)">↑</a><a href="#" onclick="move('d',1)">↓</a><br>
<input type="text" id=3 value="メロン" readonly><a href="#" onclick="move('u',2)">↑</a><br>
961959:2006/05/28(日) 13:06:08 ID:zXmn2f1t
簡素化してありますが、現在は上記のような方法にしています。

>>959のありましたら宜しくお願いします
962Name_Not_Found:2006/05/28(日) 13:06:54 ID:???
963Name_Not_Found:2006/05/28(日) 13:34:43 ID:zXmn2f1t
おお!これは凄いです。ありがとうございます

zipに色んな種類のソートスクリプトがありました。
これを参考に作ってみようと思います。
964Name_Not_Found:2006/05/28(日) 13:35:40 ID:???
>>959 面白そうなので洩れも作ってみたけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var data = ['りんご','みかん','メロン','バナナ','いちご'];
var elts = new Array(data.length);
var d0, d1, drag = null, over = null;
function init() {
d0 = document.getElementById('d0'); d1 = document.getElementById('d1');
for(var i = 0; i < data.length; ++i) {
var t = document.createTextNode(data[i]);
var e = document.createElement('div'); e.appendChild(t); elts[i] = e;
e.onmouseover = over1; e.onmouseout = out1; e.onmousedown = down1;
e.key = e.num = i; d0.appendChild(e);
}
d0.onmouseup = up1;
}
function over1() {
if(!drag) { this.style.background = 'yellow'; }
else{ d1.style.top = this.offsetTop+'px'; d1.style.visibility = 'visible'; }
over = this; return false;
}
function out1() {
if(drag!=this) this.style.background = 'none'; return false;
}
function down1() {
d1.style.top = this.offsetTop + 'px'; d1.style.visibility = 'visible';
drag = this; this.style.background = 'pink'; return false;
}
965Name_Not_Found:2006/05/28(日) 13:36:32 ID:???
function up1() {
if(drag && over && drag != over) {
if(drag.num < over.num) {
for(var i = drag.num; i < over.num; ++i) elts[i] = elts[i+1];
} else {
for(var i = drag.num; i > over.num; --i) elts[i] = elts[i-1];
}
elts[over.num] = drag;
for(var i = 0; i < elts.length; ++i) { elts[i].num = i; }
d0.removeChild(drag);
if(drag.num == elts.length-1) d0.appendChild(drag);
else d0.insertBefore(drag, elts[drag.num+1]);
}
drag = over = null; d1.style.visibility = 'hidden';
var s = ''; for(var i = 0; i < elts.length; ++i) s += ' '+elts[i].key;
alert(s); return false;
}
</script>
</head><body onload="init()">
<div id="d0" style="width:80px;overflow:clip">
<div id="d1"
style="position:absolute;visibility:hidden;width:80px;height:1em;border-bottom:s\
olid black 2px">
</div></div></body></html>
966Name_Not_Found:2006/05/28(日) 13:50:55 ID:???
>>964-965
なにこの使いにくさ
967Name_Not_Found:2006/05/28(日) 15:21:32 ID:???
>>966
なにその言いかた。
じゃあ、あんたの技を見せてもらおうか。使いやすいんだろうな。
968Name_Not_Found:2006/05/28(日) 15:27:53 ID:???
>>967
Firefoxで実行するといいんだけど、IEだと使いにくいよ。
969Name_Not_Found:2006/05/28(日) 15:48:01 ID:???
!DOCTYPE 氏ってまだいたんだな。おひさしぶりです(´・ω・`) 何年くらい住人してるんだろう。
970Name_Not_Found:2006/05/28(日) 16:04:46 ID:???
いま手元にIEないんで… 何年いるかというと、vol.4の中程からです。
ああ過去スレ全集って偉大だ。
971Name_Not_Found:2006/05/28(日) 16:16:40 ID:???
ホレ氏(DOCTYPE氏)は、2001年の初夏から2chのJavaScript質問スレの常連
として回答している。明確にホレ氏と判断がつくレスの最初は、2001/06/28(木) 。
しかし、ホレ氏は最初の頃から<!DOCTYPE HTML PUBLIC...>を入れていたわけではない。
ホレ氏が<!DOCTYPE ..>を入れるようになったのは、2001/07/06(金)以降のこと。
ホレ氏は、一時あまりに的確に回答のスクリプトをホレといって投げ出すので、
自演疑惑も持たれた。ホレ氏に批判的な常連もいるが、スクリプトを愛する氏の
精進とたゆまぬ姿勢とは評価されていい。
972Name_Not_Found:2006/05/28(日) 16:16:47 ID:???
2001年からwww
よく回答続けられるなあ。 ソースは相変わらずルーズみたいだけど、これも味かな。
これからもがんばってちょ。
973Name_Not_Found:2006/05/28(日) 16:19:20 ID:???
>>971
ストーカー?(´・ω・)ヽ
ちょっと面白いw 確かに回答早いよな。初心者には助かってると思。
974959:2006/05/28(日) 17:00:48 ID:???
>>966
自分からしたら、>>962のと変わらないくらい凄いっすね

自分はCとかPerl・PHPとかは悩むことあんまりないけど、
Javascriptは何気に難解で逆にやりがいがありますな
975Name_Not_Found:2006/05/28(日) 17:23:12 ID:???
>>968
ホレ氏はIE派じゃないからね。
976Name_Not_Found:2006/05/28(日) 17:27:26 ID:???
でも、ほれ氏に関しては、ソースが読みづらいという重大欠点があるよね。
しかし多分本職のプログラマではないだろうし、何よりかなりすばやく
質問者にサンプルソースを見せてあげてくれるから、
読みにくいソースを解読するのくらいは質問者の義務だな
977Name_Not_Found:2006/05/28(日) 17:28:43 ID:10Xq69UI
固定アドレス+「文字入力」+固定アドレス
でJAVAスクリプトでサイトに飛ばしたいのですが、
入力文字を、「A」ならそのままで問題ないですが、
「A B」のようにスペースを入れた場合、スペースを自動的に「%」に
変えたいのですが、どんな風に作ればいいでしょうか?

現在

href='http://www.google.co.jp/'+u.value+'/sample/index.html';


+u.value+ が入力場所です。どこに入れればいいですか?1単語なら正常に動いて成功するんですけど、
スペース入った場合は失敗なので、自動的にスペースを%に変えたいです。
978Name_Not_Found:2006/05/28(日) 18:01:55 ID:???
%20
979Name_Not_Found:2006/05/28(日) 18:03:55 ID:???
>>977
全体をURIEncodeComponent通した方が吉かと。
>>976
はい本職じゃないです。ソース汚いのは直らないので
すみません。綺麗なソースの人がいたら自分も勉強に
なるのでよろしこ。
980Name_Not_Found:2006/05/28(日) 18:11:52 ID:10Xq69UI
function{
u=document.getElementById('url');
location.href='http://www.google.co.jp/'+u.value+'/sample/index.html';

をどのように変えればいいですか?
「A B」と入れた場合、「A%20B」と自動的に変換されて入るようにしたいのです。

わたしJAVAスクリプトがわからないので、作ってください。
981Name_Not_Found:2006/05/28(日) 18:13:26 ID:10Xq69UI
>>979 さん、お願いします。
982& ◆R7PNoCmXUc :2006/05/28(日) 18:25:13 ID:???
次スレ
http://pc8.2ch.net/test/read.cgi/hp/1148807484/l50

>>981
断る。勉強しない奴に全部作ってやることはこのスレではしない。
でも要するに
location.href = encodeURIComponent(今書いてるもののまま);
でいいんでないの? しかし >>980 はどう見ても文法エラーだな。
エラーのまま質問する奴は2度と来て欲しくない。
983Name_Not_Found:2006/05/28(日) 18:33:04 ID:10Xq69UI
勉強したいけど、まだ初歩をやってるのでそのレベルまで追いつかないし、
このスクリプトが1日でも早くほしいので、そのために1ヶ月仕事をさぼるわけにはいかない。

わからないことをわからないと言って、何が悪いんですか?

これは人に作ってもらったものですが、ここの人がちゃんとやってくれましたよ。
984Name_Not_Found:2006/05/28(日) 18:39:14 ID:10Xq69UI
このスクリプトでやってみましたが、自動的に「%20」に変換されるみたいです。
わたしの要求するものは、自動的に「%20」ではなく「%」に変換してほしいので、
失敗でした。
985Name_Not_Found:2006/05/28(日) 18:41:49 ID:???
あなたの1ヶ月分の仕事を節約するだけの
報酬があるならやってあげましょう。

つかさ、5時間本よみゃできるからさ、そうしとき。
自分の能力に余る仕事をもらっちゃった自分の責任。
人から与えられた課題なら勉強するのも仕事のうち。
教えてもらえたのはたまたま運が良かっただけだ。
986Name_Not_Found:2006/05/28(日) 18:42:57 ID:???
ってか A はいいけど B に数字 (
987Name_Not_Found:2006/05/28(日) 18:44:30 ID:???
あれ?途中で消えた('A`)

『A はいいけど B に数字 (「2000」とか)入れたらどうなるか分かって言ってるのかしら。』
988Name_Not_Found:2006/05/28(日) 18:46:21 ID:???
989Name_Not_Found:2006/05/28(日) 18:48:08 ID:???
分からないのを分からないというのは悪くないよ。こちらも
丸投げな回答はしないと言っているだけだからあしからず。
990Name_Not_Found:2006/05/28(日) 18:55:02 ID:10Xq69UI
一番近いんですが、%20 になってしまいますね。「20」が余分でエラーになってしまいます。
2000 にしても大丈夫でした。

%になる方法を検索で考えます。
991Name_Not_Found:2006/05/28(日) 18:56:53 ID:???
>>990
本当に「 」を「% 」にしたいのなら
location.href =(現在の文字列).replace(/ /g, '% ');
しかしGoogleってそんな仕様だっけ?
992Name_Not_Found:2006/05/28(日) 18:58:29 ID:???
あのさあ、2ちゃん初心者かよ。最初の質問はageてくれていいけど
次からはsageるんだよ。ageとsageが分からないなら2ちゃんの入口に
説明あるだろ。
993Name_Not_Found:2006/05/28(日) 18:59:27 ID:10Xq69UI
たった5時間でできるもんなんですか?
びっくりですね。
994Name_Not_Found:2006/05/28(日) 18:59:37 ID:???
995Name_Not_Found:2006/05/28(日) 19:03:36 ID:10Xq69UI
encodeURI → %20 失敗

decodeURI → %20 失敗

encodeURIComponent → %20 失敗

decodeURIComponent → %20 失敗
996Name_Not_Found:2006/05/28(日) 19:13:11 ID:???
alert(996);
997Name_Not_Found:2006/05/28(日) 19:14:15 ID:???
alert(997);
998Name_Not_Found:2006/05/28(日) 19:14:53 ID:???
alert(998);
999Name_Not_Found:2006/05/28(日) 19:15:21 ID:10Xq69UI
>>991

全く変化なしです。
1000Name_Not_Found:2006/05/28(日) 19:15:36 ID:???
alert(999);
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。