我正在尝试从ready函数中获取变量:
var start = "";
var end = "";
$(document).ready(function(){
$('#aktivnostiPregled').on("submit", function(event){
event.preventDefault();
window.start = document.getElementById("date_get_pregled_start").value;
window.end = document.getElementById("date_get_pregled_end").value;
});
});
console.log(start);
console.log(end);
有谁知道为什么这不起作用?
答案 0 :(得分:0)
将您的日志移至您的提交功能(我已将按钮事件从提交更改为点击,因为我不确定您的调用方式,但点击应该适合您)。例如,见下面的小提琴。您可以通过单击按钮,从控制台(F12,chrome上的控制台选项卡)运行console.log(start)或console.log(end)来测试它,以证明值已保存到窗口变量中。
如果在表单提交之后想要它们(从/向服务器获取/发布结果/数据)那么你需要ajax或使用隐藏的html控件,这个例子不会起作用。 < / p>
除了ajax之外,点击和提交之间的区别在于提交将数据发送到服务器,服务器返回数据并完全刷新页面,擦除所有页面级别并降低javascript变量,因为它们的范围是页面。如果您不需要服务器上的数据,那么您只需要使用点击即可。您可以使用ajax单击查看返回服务器数据。除非您明确说明,否则请单击“不要刷新页面”。
var start = "";
var end = "";
$(document).ready(function(){
$('#test').on("click", function(event){
console.log('here');
event.preventDefault();
window.start = $("#input1").val();
window.end = $("#input2").val();
console.log(window.start);
console.log(window.end);
});
});
请参阅此处的小提琴:https://jsfiddle.net/xwfdddsr/1/