Javascript 为什么不是';我的JS不能正确地从表单中提取值吗?
所讨论的HTML非常简单:Javascript 为什么不是';我的JS不能正确地从表单中提取值吗?,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,所讨论的HTML非常简单: js: 当我提交表单时(通过按enter键或单击submit图标,页面会重新加载,但会使用默认设置(即“Seattle,wa”作为getsWeather函数的默认参数)。我需要它拉取输入框中的任何内容,并将其用作getsWeather函数中的参数,但当前不起作用 有什么想法吗?如果您需要更多的代码来理解它,请告诉我。如果您想修改页面,您需要在单击按钮时阻止表单提交。有两种方法: 将return false添加到按钮的单击处理程序的末尾。这将阻止表单提交(如果客户端
js:
当我提交表单时(通过按enter键或单击submit图标,页面会重新加载,但会使用默认设置(即“Seattle,wa”作为getsWeather函数的默认参数)。我需要它拉取输入框中的任何内容,并将其用作getsWeather函数中的参数,但当前不起作用
有什么想法吗?如果您需要更多的代码来理解它,请告诉我。如果您想修改页面,您需要在单击按钮时阻止表单提交。有两种方法:
return false
添加到按钮的单击处理程序的末尾。这将阻止表单提交(如果客户端上启用了JavaScript)
type=“button”
,使其不再是提交按钮理想情况下,如果客户端没有启用JavaScript,您应该将#1与处理表单提交结合起来,以处理少数人在处理页面内更新的启用JavaScript的客户端时,通过表单提交禁用JavaScript进行冲浪。如果您想修改页面,您需要防止表单被破坏单击按钮时提交。有两种方法:
return false
添加到按钮的单击处理程序的末尾。这将阻止表单提交(如果客户端上启用了JavaScript)
type=“button”
,使其不再是提交按钮理想情况下,如果客户端没有启用JavaScript,您应该将#1与处理表单提交结合起来,以处理少数人在使用页面内更新处理启用JavaScript的客户端时,通过表单提交禁用JavaScript进行冲浪。那么问题是,您觉得页面重新加载有问题,还是代码就是这样是否应该工作?因为如果它有问题,那么你需要防止表单被提交。否则所有的工作都会被重置,因为它每次都会重新加载整个脚本,即使我只是要求它重新加载用户在表单中输入的值?@Jamiec老实说,我不确定,因为我是一个初学者。我正在使用g框架。@pmath325抱歉,我误解了这个问题-忽略。重新加载时,整个脚本和dom都会重置。但是表单中的值是在重新加载页面之前提交的。因此,刷新页面时只加载默认值,而不加载用户添加的值。除非您编写加载使用的代码r添加值它将以这种方式运行。因此,问题是,您是否发现页面重新加载有缺陷,或者代码应该是这样工作的?因为如果有缺陷,那么您需要防止表单被提交。否则所有工作都会被重置,因为它每次都重新加载整个脚本,即使我只是要求它重新加载用户在表单中输入的值?@Jamiec老实说,我不确定,因为我是一个初学者。我正在使用框架。@pmath325抱歉,我误解了这个问题-忽略。当重新加载时,整个脚本和dom都会重置。但是表单中的值会在页面重新加载之前提交。因此,只有默认值刷新页面时会加载值,而不是用户添加的值。除非您编写加载用户添加值的代码,否则其行为方式将与按钮相同。我如何将其类似地添加到输入中,以便用户按enter键时发生相同的事情?@pmath325类似地处理
表单
提交和返回false也是。我相信@T.J.会更新细节。@Jamiec你们太棒了。解释一下为什么这样做?提交的作用是什么,所以我需要返回false?@pmath325返回false
只是阻止表单提交。@pmath325:正如Jamie所说,只需在表单中添加提交处理程序并使用>预防默认值
(或返回false
)阻止表单提交。请记住:提交表单会刷新页面,这就是我们阻止它发生的原因。这对按钮有效。我如何将其添加到输入中,以便在用户按下enter键时发生相同的事情?@pmath325类似地处理表单
提交并返回false。我确定@T.J。将更新详细信息。@Jamiec你们太棒了。解释一下为什么这样做?提交的作用是什么,所以我需要返回false?@pmath325return false
只是阻止表单提交。@pmath325:正如Jamie所说,只需在表单中添加一个submit
处理程序,然后使用preventDefault
(或返回false
)以阻止表单提交。请记住:提交表单会刷新页面,因此我们阻止它发生。
$(document).ready(function() {
getsWeather('seattle, wa', 'f');
$("#locSearchBtn").click(function() {
getsWeather(document.getElementById('locSearch').value, 'f');
});