• ベストアンサー

JavaScriptのプログラム

「はい」「いいえ」「その他」などのリンク(<a>タグ)があり、そのうちの一つをクリックすると、 「投票完了!」と表示されるようなJavaScriptプログラムを作れる方いませんか? 例:「はい いいえ その他」とリンクで表示されていて、「はい」をクリックすると、すべてが消え「投票完了!」と表示される。 よろしくお願いします! P.S.これは必須ではありませんが、指定されたメールアドレスに送信できるようにしたいです。Javaじゃなくても、PHPとかでも結構です。

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

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

#1さんの回答そのままですが・・・ ---HTML----- <span id="test">  <a href="#" onClick="change(document.getElementById('test'));">はい</a>  <a href="#" onClick="change(this);">いいえ</a>  <a href="#" onClick="change(this);">その他</a> </span> ----JavaScript----- function change(hoge){  hoge.outerHTML = "投票完了!";  return false; } *質問文を尊重して<a>タグにしてありますが、リンクは無効です。 *「いいえ」、「その他」はそれぞれが、「はい」は全部が「投票完了!」に置き換わります。 *簡略化のため、outerHTMLでタグごと置き換えてますが、修正したほうがいいかも。 メール送信はブラウザのmailtoの機能の利用程度ではだめなのでしょうか? 表示しないフォームを作成しておいて、Scriptからsubmitすれば、多少は近いものになりそう。 ちゃんとやるなら、サーバーに送って、サーバーからメールすることになるでしょう。 <参考>   http://www.trancedive.com/contents/reference/javascript/sample/tips008.html

ri19960913
質問者

お礼

すいません!記述が間違っていました! <script language="javascript"> を追加するのを忘れてました! やっと行きました!ありがとうございます!

ri19960913
質問者

補足

ありがとうございます。 やってみたのですが、 はい  いいえ  その他 function change(hoge){  hoge.outerHTML = "投票完了!";  return false; } はい・いいえ・その他がリンクになって表示されたのですが、 あとのJavascriptタグは丸出しになっています。 どうすればよいでしょうか?

その他の回答 (2)

  • pick52
  • ベストアンサー率35% (166/466)
回答No.2

JavaScriptはクライアントサイドスクリプティング技術なので サーバ側の動作であるメールを送信するなどの機能を実現させることは できません。 (Ajaxを使用すればできないことはありませんがどちらにしても CGIやPHPなどのサーバサイドで動作する外部スクリプトが必須になります) あと、JavaとJavaScriptを混同しないようにしてください。 まったくの別物です。 http://ja.wikipedia.org/wiki/Java http://ja.wikipedia.org/wiki/JavaScript リンクをクリックした時はonclickイベントが発生するのでそれで 操作を行います。 この辺りは [javascript onclick] などのキーワードでググったり ヤフったりして調べればすぐに出てくると思います。

  • Tiffa9900
  • ベストアンサー率31% (68/216)
回答No.1

一例ですが、 <span id="aaa"> <span onClick="change('はい')">はい</span> <span onClick="change('いいえ')">いいえ</span> <span onClick="change('その他')">その他</span> </span> と、はい、いいえ、その他において、マウスクリック時のアクションを拾って(onClick=~)、 全体をID指定しておきます。 そこから呼ばれたスクリプト(例ではchange)において、  aaa.innerHTML = "投票完了!" ; といった記述をしておけばいいのかなぁ。たぶん… 実際に試してないので微妙かもしれません。 また、メールを送るなどには対応できないと思います。

関連するQ&A