У меня странный вопрос, и я не знаю, что искать, чтобы найти на него ответ
Могу ли я указать аргументы функции onclick кнопки HTML? onclick = "func('Wednesday')"
function func(a) {
if (a == "Wednesday") {
var day = a;
}
} else {
var day = "not Wednesday";
}
Учитывая, что это возможно, есть ли способ взять эту переменную и отправить ее в другой файл, предпочтительно в файл php?
sorry if this is a repeat, im newчто ты хочешь делать? вы хотите создать общую функцию, с помощью которой вы можете создать onclick, который возвращает значение?
вы можете отправлять данные в другой файл, используя это может помочь вам stackoverflow.com/questions/2269307/…
вы можете отправлять данные в другой файл, используя это может помочь вам stackoverflow.com/questions/2269307/…
Если вы спрашиваете о том, что я написал, вы можете сделать это, создав функцию: -
<html>
<body>
<button onclick = "myFunction()">Click me</button>
<p id = "demo"></p>
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "Hello World";
}
</script>
</body>
</html>
никогда не рекомендуйте встроенный js / css - это плохая практика, которая приводит к трудному обслуживанию кода
Ваши два вопроса не связаны между собой, как вы думаете.
Первый вопрос, в котором вы хотите сделать что-то вроде этого onclick = "func('Wednesday')"
, выполним, но, возможно, не так, как вы себе представляете, я сделаю это как-нибудь вот так
HTML
<a id = "my-button">Click Me</a>
Javascript
function func(a, e) {
if (a == "Wednesday") {
var day = a;
} else {
var day = "not Wednesday";
}
}
var btn = document.getElementById("my-button")
btn.addEventListener("click", func.bind(null, "Wednesday"))
Подробнее об этом способе привязки обратных вызовов читайте здесь https://www.w3.org/wiki/The_principles_of_unobtrusive_JavaScript
Также я использовал функцию bind
в Function
для присоединения аргументов к моему обратному вызову, которые будут переданы моей функции всякий раз, когда будет вызван обратный вызов.
Теперь вопросы о передаче props из javascript в PHP. Хорошо, подумайте о потоке от сервера к клиенту. Ваш PHP отправляет javascript в браузер как обычный текст в браузер, который интерпретируется на пользовательском компьютере, что означает, что когда ваш javascript начинает работать, PHP больше не находится в контексте, поэтому вы не можете просто передавать vars из JS в PHP, поскольку один из них запускается на сервере и прочее на клиенте.
Чтобы передать реквизиты от клиента к серверу, вам нужно будет создать запрос AJAX.
Возможный дубликат Что такое AJAX и как он работает?