Muốn chuyển đoạn code JS trong thẻ script sang 1 tập tin riêng thì phải code như thế nào?

Chào mọi người, em là newbie Javascript nên em có thắc mắc mong mọi người giải đáp giùm em với ạ, đó là: Cho đoạn code như sau:

<p>Giới tính:<a href="#"><script language="javascript">document.write(prompt("Bạn vui lòng cung cấp giới tính!"));</script>a</a></p>

Mọi người cho em hỏi là em muốn chuyển đoạn code JS sang 1 tập tin riêng thì em phải code như thế nào ạ, em cảm ơn mọi người nhiều ạ!!!

bạn dùng cái này nhé

<script src="path/to/file.js"> 

tham khảo : https://www.w3schools.com/tags/att_script_src.asp

5 Likes

Cái này em biết rồi anh à, ý em muốn hỏi là đoạn code js này:

<script language=“javascript”>document.write(prompt(“Bạn vui lòng cung cấp giới tính!”));</script>

em muốn chuyển sang file js là: demo.js thì mình phải code lại như thế nào vậy anh?

Copy hết đoạn code đó vào =!=

3 Likes

giờ bạn tạo file demo.js thế này:

document.write(prompt(“Bạn vui lòng cung cấp giới tính!”));

rồi HTML ghi như này

<script src="demo.js"></script>
2 Likes

Bình thường là thế anh à, nhưng trong đoạn code ở trên thì đoạn code javascript nó đang lồng bên trong thẻ p và thẻ a thì mình phải code như thế nào vậy anh?

hình như là dùng getElementById lồng nhau thì phải
để lấy cái document trong 2 tag đó
nếu mình hiểu đúng :expressionless:

theo mình thì không chuyển được.
vì nếu chuyển tất cả đoạn code bên dưới vào file js riêng thì mình không biết cách đặt đoạn code từ file js riêng sang file html.

<a href="#"><script language="javascript">document.write(prompt("Bạn vui lòng cung cấp giới tính!"));</script>a</a>
1 Like

Em cảm ơn anh nhiều nhé

Em cảm ơn anh nhiều ạ

giờ mình làm cái workaround thế này :
codepen : https://codepen.io/phamdat2/pen/ZwawGW

//demo.js
let result = prompt("bla bla");
document.getElementById("res").text = result;
<!-- demo.html -->
<html>
	<body>
	<p> Gender : <a href="#" id="res"><script src="demo.js"></script></a></p>
	</body>
</html>
2 Likes

What of “không chuyển được”?
@QuaiLaoKiet
Với js engine thì việc bạn lồng thẻ script với 1 tỉ thẻ a hay không cũng đâu có gì khác nhau.

@phamdat2 tại sao lại phải làm cho nó phức tạp đến như vậy.
PS: mấy ông nếu không hiểu rõ về web nó hoạt động ntn thì đừng tư vấn bậy bạ nếu không tham khảo kĩ lại kiến thức từ chị Google, như thế sẽ hại người ta đấy

2 Likes

Mình có giải thích rồi, bạn có thể xem lại.
Còn cách làm bạn @phamdat2 đã chỉ dẫn, mình mới test chạy được xong :kissing:

1 Like

vì nó là cách duy nhất để nó hoạt động đúng theo ý chủ thớt rồi bạn. Còn so về tính maintainable thì còn tùy thuộc vào codebase của chủ thớt thế nào. Còn về cái “phức tạp” mà bạn nói thì theo mình thì code của mình so với code của topic 90% là giống nhau, chỉ khác mỗi việc tạo thêm 1 file .js để gắn data vào thẻ <a href="#"> với lại nó cũng chả có gì phức tạp cả, chỉ là dùng những kiến thức HTML căn bản rồi đấy bạn như document.getElementByIdgắn giá trị vào thẻ HTML

Học cú pháp cơ bản của JS rồi học luôn ReactJs hoặc VueJs cũng đc, viết kiểu tách file này là từ thời jquery rồi. Đọc code đau não @@

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?