我有一个由两部分组成的淘汰表.当第一部分被填写时,第二部分被隐藏.完成第一部分并单击"继续"后,将隐藏第一部分,并显示第二部分.我希望能够验证第一组输入,如果没有错误,则继续下一部分.
我在官方的github页面上找到了这个,我正在尝试这样做.
当我这样做时,没有检测到错误.它继续到第二部分
function ReserveViewModel(){
self.firstName = ko.observable("").extend({ required: true });
self.continue = function(){
var errors = ko.validation.group([ReserveViewModel.firstName]);
if (errors.length == 0) {
//display second div
}
else{
self.errors.showAllMessages();
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做它可以工作,但试图验证一切.由于第二组输入是空的,它只是挂在那里.
self.continue = function(){
self.errors = ko.validation.group(self);
if (self.errors().length == 0) {
}
else{
self.errors.showAllMessages();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试检查是否加载了jQuery.如果没有,加载它,然后继续加载外部JavaScript文件.我遇到的问题是外部文件中的一个期望已经加载了jQuery,所以我得到了一个'jQuery not defined'错误.有没有办法可以使用JavaScript加载jQuery,一旦完成它然后继续?
if(!window.jQuery){
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.0.1/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
}
//load these scripts after jquery has been loaded
<script src="/some/other/js/file/that/requires/jquery"></script>
<script src="/some/other/js/file/that/requires/jquery"></script>
Run Code Online (Sandbox Code Playgroud)
我想做的是在继续之前等待这个完全加载.我试过这个,但是我遇到了超出调用堆栈的错误
我正在使用jQuery 1.10.2,并且我在使用getScript时遇到以下错误.我加载jquery,然后调用包含此代码的JS文件.我甚至在调用getScript之前使用jQuery版本的警报,以便我知道它已加载.
Uncaught TypeError: Cannot call method 'getScript' of undefined
Run Code Online (Sandbox Code Playgroud)
这是代码
$.noConflict();
jQuery(document).ready(function ($) {
load_scripts();
});
function pause_for_jquery(){
setTimeout(load_scripts, 50);
}
function load_scripts(){
if (!window.jQuery) {
pause_for_jquery();
}
else{
alert(jQuery.fn.jquery); //this alert works and displays '1.10.2'
$.getScript("url here", function() {});
}
}
Run Code Online (Sandbox Code Playgroud) 我无法访问要发送到Django中模板的dict对象的值。我可以在视图中访问和打印字典的内容,但是当我尝试将数据发送到模板时,会出现各种字符,例如编码不正确。起初,我认为序列化可能是一个问题,但是我发现这篇文章指出json_serializer.serialize应该与queryset一起使用。它是否正确?从这里,我尝试了以下方法。
最初,我尝试仅发送数据变量本身,而不使用任何格式
data = {'item_1': 123, 'item_2': 456, 'item_3': ['a','b','c'] }
return render(request, 'testsite/new_page.html', {'data' : data} )
Run Code Online (Sandbox Code Playgroud)
在模板中,我有以下内容
<script>var data = "{{ data }}"; </script>
<script>console.log(data);</script>
// displays the following
// <testsite.views.data object at 0x1045f1e48>
Run Code Online (Sandbox Code Playgroud)
然后我尝试将数据格式化为JSON
data = {'item_1': 123, 'item_2': 456, 'item_3': ['a','b','c'] }
return render(request, 'testsite/new_page.html', {'data' : json.dumps(data.__dict__) } )
//template
<script>var data = "{{ data }}"; </script>
<script>console.log(data);</script>
// the following is the improperly formatted result
// {"item_1": 123, "item_2": 456, "item_3": ["a","b","c",] …Run Code Online (Sandbox Code Playgroud)