У меня есть приложение ASP.Net Core MVC, и мне нужно, чтобы определенные элементы обновлялись одним щелчком мыши. Например, создайте форму человека, которая ищет существующий адрес.
Я знаю, что не могу использовать вложенные формы. Однако, вернувшись к своим знаниям из MVC 3 дня, я подумал о ненавязчивом Javascript, а затем запустил скрипт из результата для обновления основной формы.
Это прекрасно работает, когда я издеваюсь над контроллером, чтобы получить заданное значение, но я просто не могу понять, как передать параметр.
Для базового примера моя форма:
<form>
----
xxxx LOADS OF FORM ELEMENTS xxxx
----
Address:
<input type = "text" name = "address">
<a href = "" data-ajax = "true" data-ajax-url = "LoadAddress" data-ajax-update = "#test" data-ajax-mode = "after" data-ajax-complete = "changeid">LoadAddress</a>
</form>
Теперь об этом - когда мой контроллер просто возвращает 1, он работает хорошо... но я действительно хочу сначала передать ввод контроллеру.
Можно ли как-то перехватить запрос и передать данные поля адреса, или стоит отказаться от идеи использования ненавязчивого AJAX и сделать что-то более нативное?
(и... я нахожу так много документации устаревшей... в то время как я нахожу, что она работает для других битов, все еще используется ненавязчивый AJAX?)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете пропустить тег формы и привязать свои вызовы AJAX к прослушивателям событий. Затем вы можете отправлять и получать значения в любое время.
HTML
<input type = "text" name = "address" id = "address">
<button id = "submit">submit the form</button>
JS
let field = document.querySelector("#address")
let btn = document.querySelector("#button")
field.addEventListener("change", (e)=> {
fetch(`http://yourapi.com/search?address=${e.target.value}`)
.then(res => {
console.info("search result was returned")
})
})
btn.addEventListener("click", (e)=> {
console.info("use fetch to submit the form here")
})
Это здорово, спасибо... никогда раньше не использовал выборку, но кажется интересным... Я собираюсь немного оставить это открытым, потому что мне все еще любопытно, возможно ли это через ненавязчивый (из-за привязки модели/нахождения намного проще для основ), но, если я ничего не получу в ответ, я с радостью отмечу это как ответ.