人に聞けない痔の悩み、これでスッキリ >>

JavaScriptをはじめて勉強し始めました。
今、変数のやり取りについて勉強しているのですが、

http://aaabbb.com/aaa/bbb.zip
というアドレスがあったとして、

<script type="text/javascript">
<!--
function out(){
var urldata;
// -->
</script>
上の『urldata』にhttp://aaabbb.com/aaa/bbb.zipを代入したいのです。

でも、タダ代入するだけでなく、
<a href=""></a>で代入したいのです。

つまり、リンクをクリックすると、http://aaabbb.com/aaa/bbb.zipがurldataに代入されるようにしたいのですが・・・
どう書けばいいのかが分かりません。
ためしに書いてみても、全然代入されませんでした。

<a onclick="urldata='http://aaabbb.com/aaa/bbb.zip';out()" href="#">テスト</a>

すみませんが、ご教授ください

このQ&Aに関連する最新のQ&A

A 回答 (2件)

JavaScriptを今日からはじめたのかしら。


答えを書くから意味は自分で勉強して見なさい。
キーワードは「関数・変数・引数」よ。
今回の問いはもっとも基本的な構文よ。
それぞれがどういう処理なのかしっかり把握しないと
明日以降何もできないわよ。
がんば。

<script type="text/javascript">
<!--
var urldata;
function out(url){
urldata = url;
}
//-->
</script>
<a onclick="out('http://aaabbb.com/aaa/bbb.zip')" href="#">テスト</a>
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

なるほど、基本BASICと同じなのですね。
ありがとうございました

お礼日時:2009/03/02 22:06

なぜ<a>タグなのか不明ですが(リンクしないのならボタンでも、テキストでもいいのに)、hrefにURLを入れておいて、同じように動作するものを参考までに…



<html>
<script type="text/javascript">
<!--
var urldata;
function out(elm){
urldata = elm.href;
return false;
}
//-->
</script>
<body>
<a href="http://aaabbb.com/aaa/bbb.zip" onclick="return out(this)">テスト</a>
</body>
</html>
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

テキストリンクなので、<a>タグにしました。

お礼日時:2009/03/02 22:08

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qhtml で 変数を定義できますか?

html(できればjava不使用)で変数に文字列をいれてつかう、またはそれに近いことはできないでしょうか?

例**************************
$color1="#000000"

<tr bgcolor=$color1>内容1<tr>
<tr bgcolor=$color1>内容2<tr>
****************************
みたいな感じです

Aベストアンサー

調べりゃ分かることは???だけど。

CSS2で無理やり作れば・・簡単だけど・・・
生成内容、自動番号振り、リスト ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/generate.html )
 本来はXSLTで作るほうがよいかと・・・
 <th><xsl:value-of select="parson" />の歌</th>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>サンプル</title>
<meta name="author" content="ORUKA1951">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rev="made" href="mailto:orika1951@hoge.com" title="send a mail" >
<link rel="START" href="../index.html">
<style type="text/css">
<!--
.parson1:before{content:"田中";}
p.age1:after{content:"36歳";}
-->
</style>
</head>
<body>
<h1>サンプル</h1>
<p class="parson1">は男の子</p>
<p class="parson1 age1">の年齢は</p>
<p>私の彼氏は<span class="parson1">君だよ</p>
</body>
</html>

調べりゃ分かることは???だけど。

CSS2で無理やり作れば・・簡単だけど・・・
生成内容、自動番号振り、リスト ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/generate.html )
 本来はXSLTで作るほうがよいかと・・・
 <th><xsl:value-of select="parson" />の歌</th>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
<title>サンプル</title>
<met...続きを読む

Aベストアンサー

hogehoge.phpで値を受け取りたいということでしょうか。
それでしたら

引数の数が決まっていないのでしたら
<a href="hogehoge.php?30,60…">login</a>
という形にリンクを造り
hogehoge.phpで
<?
//explode関数は「,」で区切り順番に配列に格納する
//$_SERVER['QUERY_STRING']はURLの?の後に付けられた
//文字列(引数)を取得できます。

$intArray = explode(",",$_SERVER['QUERY_STRING']);


print_r($intArray); //変数の内容を表示します
?>

とすれば変数$intArrayに配列で投げ込まれます。

受け取る値の数が決まっているのであれば

<a href="hogehoge.php?a=30&b=40">login</a>
という形にリンクを造り
hogehoge.phpで
<?

echo $_GET['a']."<BR>\n";
echo $_GET['b']."<BR>\n";

?>

とすればGETメソッドで投げられた引数を
$_GET[リンク時に設定した変数名]で引数が取得できます。

取得した引数は正規表現などでチェックしないと
思わぬセキュリティーホールを造ってしまったりして危険ですので
気を付けて下さい。
例えば数字のみの入力を許したいなら
if(!ereg("^[0-9]*$",評価する変数)) die("不正な引数が含まれています。");
とエラー終了させることができます。

hogehoge.phpで値を受け取りたいということでしょうか。
それでしたら

引数の数が決まっていないのでしたら
<a href="hogehoge.php?30,60…">login</a>
という形にリンクを造り
hogehoge.phpで
<?
//explode関数は「,」で区切り順番に配列に格納する
//$_SERVER['QUERY_STRING']はURLの?の後に付けられた
//文字列(引数)を取得できます。

$intArray = explode(",",$_SERVER['QUERY_STRING']);


print_r($intArray); //変数の内容を表示します
?>

とすれば変数$intArrayに配列で投げ込まれ...
続きを読む

QJSPでリンクを利用してパラメータを次画面に渡す方法について。

一覧表示されているデータのNOをクリックすると、二つのパラメータでデータベースへアクセスし、該当データの詳細画面に遷移する、というプログラムを作っています。

データベースへアクセスする際に必要なIDは2つで、仮にID_A、ID_Bとします。
リンク部分のソースは

---------------------------------------------------------------------
<a href = "update_form.jsp?ID_A=<%= rs.getString("ID_A") %>">番号</a>
<input type="hidden" name="ID_B" value="<%= rs.getString("ID_Bcat_id") %>">
---------------------------------------------------------------------

としておりますが、次画面へ遷移すると、ID_Bの値はnullとなってしまうために、正常にデータの取得ができません。

二つのパラメータを使用する場合のパラメータを渡す方法を教えて頂きたいと思います。よろしくお願いします。

一覧表示されているデータのNOをクリックすると、二つのパラメータでデータベースへアクセスし、該当データの詳細画面に遷移する、というプログラムを作っています。

データベースへアクセスする際に必要なIDは2つで、仮にID_A、ID_Bとします。
リンク部分のソースは

---------------------------------------------------------------------
<a href = "update_form.jsp?ID_A=<%= rs.getString("ID_A") %>">番号</a>
<input type="hidden" name="ID_B" value="<%= rs.getString("ID_Bcat_id") %>">...続きを読む

Aベストアンサー

<a href = "update_form.jsp?ID_A=<%= rs.getString("ID_A") %>&ID_B=<%= rs.getString("ID_Bcat_id") %>">番号</a>

としてID_Bを&で繋げればMethod="get"で送れますね。
inputタグで送る場合はformタグでactionアトリビュートに飛ぶjspを指定してsubmitボタンかJavaScriptでsubmitさせなければならないと思います。

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

QHTMLファイル同士での値渡し

困っています。

HTMLファイルからHTMLファイルへ移動するときに、
HTMLファイル1でJavaScript で算出された値を
HTMLファイル2へ渡して使用したいのです。

showModalDialogだとダイアログにしか渡せないし・・・。
このように、値をそのまま次のページに渡すための方法を教えてください。
お願いします。

Aベストアンサー

すみません。うっかりしてました。

document.write(FORM[v1]);
では、v1を変数と認識してしまうので、エラーになってしまいますね。

document.write(FORM.v1);  // 「FORM.v1」です
あるいは
document.write(FORM["v1"]);
としてください。

QURLのパラメータを取得しリンクに追加するには

Javascriptで、URLのパラメータを取得し、リンクにパラメータを渡したいです。

例えば、現在のURLが、
http://www.hoge.com/hoge.html?q=12345&pdf=downだとします。

そのページには、様々なリンクがありますが
特定のリンクにのみ、下記のようにパラメータを追加したいです。
http://www.hoge.com/test.pdf

http://www.hoge.com/test.pdf?q=12345&pdf=down


検索した際に近そうなサンプルなどありましたが、
こちらは使えそうでしょうか。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
window.onload = function onLoad() {
param = GetQueryString();
target = document.getElementById("param");
target.innerHTML = param["q"];
}

function GetQueryString() {
if (1 < document.location.search.length) {
// 最初の1文字 (?記号) を除いた文字列を取得する
var query = document.location.search.substring(1);

// クエリの区切り記号 (&) で文字列を配列に分割する
var parameters = query.split('&');

var result = new Object();
for (var i = 0; i < parameters.length; i++) {
// パラメータ名とパラメータ値に分割する
var element = parameters[i].split('=');

var paramName = decodeURIComponent(element[0]);
var paramValue = decodeURIComponent(element[1]);

// パラメータ名をキーとして連想配列に追加する
result[paramName] = decodeURIComponent(paramValue);
}
return result;
}
return null;
}
</script>
</head>
<body>
<div>テスト</div>
<div id="param"></div>
<a href="test.pdf">PDFダウンロード</a>
</body>
</html>

元コードは下記サイトのものです。
http://www.ipentec.com/document/document.aspx?page=javascript-get-parameter


どうぞよろしくお願いいたします。

Javascriptで、URLのパラメータを取得し、リンクにパラメータを渡したいです。

例えば、現在のURLが、
http://www.hoge.com/hoge.html?q=12345&pdf=downだとします。

そのページには、様々なリンクがありますが
特定のリンクにのみ、下記のようにパラメータを追加したいです。
http://www.hoge.com/test.pdf

http://www.hoge.com/test.pdf?q=12345&pdf=down


検索した際に近そうなサンプルなどありましたが、
こちらは使えそうでしょうか。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1...続きを読む

Aベストアンサー

特定のリンク
<a href="test.pdf" class="特定のリンク">PDF</a>

特定のリンクにのみ、現URLのパラメーターを追加
var search = document.location.search;
var targets = document.querySelectorAll('a.特定のリンク');
for (var i = 0; i < targets.length; i++) {
_ var target = targets[i];
_ var url = target.href;
_ url = url.replace(/\?.*$/,''); // 既存のパラメーターを削除
_ url += search; // 現URLのパラメーターを追加
_ target.href = url;
}

もし、現URLのパラメーターのうち 'q' と 'pdf' のみ追加したいなら、
関数 GetQueryString の戻り値から、変数 search を生成してください。

QHTML内でJavaScriptの変数を使いたい

<script language="JavaScript">
<!--
function fnc_prompt(){
var msg;
msg = window.prompt("URL","");
}
//-->

で、msgにURLを代入して、

<form action="&{msg};" method="post">

フォームタグ内でその変数を使いたいのですが可能でしょうか。


よろしくお願いします。

Aベストアンサー

これでどうですか?

<script language="JavaScript">
<!--
function fnc_prompt(){
var msg;
msg = window.prompt("URL","");
// この一行追加
document.form1.action = msg;
}
//-->

formタグには、適当なname属性を追加。
<form action="" name="form1" method="post">

Qリンクをクリックした時にformからPOST送信したい。

HTML、PHP、JavaScript等でサイトを作っているのですが・・・。

【実現出来ている例】
<form name="form1" method="post" action="Next.php" onSubmit="return InputCheck()">
 <input type="submit" value="送信">
</form>
 submitボタンを一つ置いて、それがクリックされた場合に
formの内容をPOSTで送信する。

【実現したい例】
<form name="form1 method="post">
 <a href="Next.php" onClick="???">???</a>
</form>
 formの中のリンクをクリックされた場合に、formの内容を
POSTで送信したいのですが、その実現方法がわかりません。
GETで送るという手もあり得ますが、今回はどうしてもPOST
したいのですが。

Aベストアンサー

<form name="form1" method="post" action="Next.php">
<a href="#" onClick="document.form1.submit();">???</a>
</form>

onclick内の対象がform1としてあてているので、
アンカータグは別にform内に記述しなくても大丈夫です

form内にhidden等でnameとvalueを持ったパラメータがあればそれも送られます

アンカータグから動的にvalueを変更したい場合は、
document.form1.hogename.value = 'hoge';
等をsubmit()の前に行えば可能です

ただしform内に
<input type="hidden" name="hogename" value="">
を記述する等、変更先パラメータの元を用意する必要がありますのでご注意下さい

Qonclick指定関数の引数へローカル変数をセット

・onclick指定関数の引数として、ローカル変数をするにはどうすれば良いでしょうか?
・下記例だと、kokoをローカル変数で定義したい
<input type="button" onclick="hoge(koko);">

■現状
・変数kokoスコープをグローバルで設定しているので無事渡せて(?)ます

■質問背景
・変数はグローバルにしない方が良いと聞いたことがあるので、何か方法があるのかなと思い質問しました

Aベストアンサー

onclick="(function(){var koko='koko';hoge(koko);})();"
これでkokoをローカル変数にすることが出来るはずです。
当然この関数内でしかアクセス出来ないので、他の場所で設定したい場合はグローバル変数にする必要があります。

Qページ間で変数を保持したい

いつもお世話になっております。

今回はhtml間での値渡しについてお聞きしたいです。

現在ある二つのページA,Bを作成していまして、お互いにリンクが張ってあります。
AからBに行く時、Aの中にあるフォームの内容をBに表示したく外部jsファイルでグローバル変数に保持したりなどやってみましたがだめでした。

そもそもこのようなことをjavascriptのみでできるのでしょうか?
また可能ならばどのようにすればよいでしょうか?
ご教授お願いします。

Aベストアンサー

<form action="fB.html" method="get">
とした場合の例ですが、

以下のコードを参考にしてみてください。
------------------------------------------------------------
fA.html
------------------------------------------------------------
<html>
<head>
</head>
<body>
<form action="fB.html" method="get">
<input type="text" name="t" value="textA"></input>
<input type="hidden" name="h" value="hiddenA">
<input type="submit">
</form>
</body>
</html>
------------------------------------------------------------
fB.html
------------------------------------------------------------
<html>
<head>
<script type="text/javascript">
<!--
function init() {
var arr=Array();

var ss = "";
var querys=location.search;
if(querys) {
var q = querys.replace(/^\?/,'').split('&');
for(i=0 ; i<q.length ; i++){
var pair=q[i].split('=');
// arr[pair[0]]=pair[1];
ss += pair[0] + " = " + pair[1] + "\n";
}
}
alert(ss);
}

window.onload= init;

//--></script>
</head>
<body>
</body>
</html>

<form action="fB.html" method="get">
とした場合の例ですが、

以下のコードを参考にしてみてください。
------------------------------------------------------------
fA.html
------------------------------------------------------------
<html>
<head>
</head>
<body>
<form action="fB.html" method="get">
<input type="text" name="t" value="textA"></input>
<input type="hidden" name="h" value="hiddenA">
<input type="submit">
</form>
</b...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング