アプリ版:「スタンプのみでお礼する」機能のリリースについて

JavaScript 超初心者です。
Document.writeがなぜか反映されません。何が間違ってるのでしょうか。助けてください、、↓


<!DOCTYPE html>
<html lang="en">
<head>
<Script Language = "JavaScript">


{//alert ("I am here");
fname= document.getElementById("fname").value;

document.write ("fname");

}


</Script>

<title>Customer Relationship Manager</title>
</head>


<body>
<Br>
<h3>Costomer Sending Form</h3>
<Br>
<form method = "post" Name ="input" onSubmit = "submit">
<label for="fname">First name:</label><br>
<input type="text" id="fname" name="fname"><br>


<Br><Br>
<center><input type="submit" value="submit"></center>

</form>


</body>
</html>

A 回答 (3件)

こんにちは



>Document.writeがなぜか反映されません
なさりたいことも書いてないので、提示されたソースに関してだけですが・・

ご提示のソースのままで実行しているのなら、まずは、ブラウザのコンソールを確認してみてください。(大抵のブラウザであれば F12キーで表示されます)
エラーが出ているはずと思います。
(どのようなエラー内容で、どこで発生しているかを認識することが、今後の理解に役立つはずです)

HTML(javascriptもですが)は原則として記述順に処理されてゆきます。
スクリプトの場合、エラーが発生するとその後の記述は実行されません。
ご提示の内容では、
 >fname= document.getElementById("fname").value;
でエラーが発生するので、その後のスクリプトは実行されず、「反映されない」ということになっています。
(エラーの原因は、探している要素がまだ解釈されていないので、取得できないからです)
仮に、上記の1行を削除するなりコメントアウトしてみれば、次の
 >document.write ("fname");
が実行されるようになり、「fname」という文字列が表示されます。
(質問者様の意図とは違う結果かも知れませんけれど・・)


ついでながら、ご質問内容には関係ありませんけれど・・
他の方の指摘にもありますが、記述が全体的に古いように思われます。
<center>タグは現在非推奨ですし、タグ名称の大文字小文字の混在も視認性が宜しいとは思えません。
ご質問の「document.write」も、使い方によっては新しい文書を作成することになってしまいますので、実際にはあまり使われることはないと思います。
また、
 document.write ("fname");

 document.write (fname);
の違いもきちんと認識なさっておいた方が良いでしょう。
    • good
    • 1
この回答へのお礼

ご丁寧にありがとうございます!
海外で英語で学んでいるので日本人の助けが必要でした( ; ; )一旦HTMLを学び直してみます!

お礼日時:2024/05/03 08:39

何を参考に学んでるの?書き方が何もかも古すぎると思うのだが、こういうのはある程度理解してから学べばいいのでは?

    • good
    • 0
この回答へのお礼

海外の大学で授業をとったのですが、スピードが早すぎて、、日本語で少し頑張ってみます

お礼日時:2024/05/03 08:41

writeは使わず、valueの値を代入する方法で入力できます。


<7行目>
frame = "frame";

https://www.javadrive.jp/javascript/form/index1. …
    • good
    • 0
この回答へのお礼

サイトまでありがとうございます!一旦やってみます!

お礼日時:2024/05/03 08:40

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

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


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