小编Joe*_*Joe的帖子

window.onbeforeunload无法正常工作

我有一个表单,其中输入字段保存在更改.在firefox(5)中,即使窗口关闭也能正常工作,但对于Chrome和IE则没有,我需要确保即使他们在输入后尝试关闭窗口,我也会保存这些数据一个字段但是没有发生onBlur事件(即他们已经在文本框中键入了某些内容,但没有标记出来).

我已经阅读了以下有关使用window.onbeforeunload的文章 : 第1 条第2条

如果我使用以下内容:

window.onbeforeunload = function() {
    return "onbeforeunload";
}
Run Code Online (Sandbox Code Playgroud)

然后我得到一个带有"onbeforeunload"的弹出窗口.

但如果我尝试:

window.onbeforeunload = function() {
    alert("onbeforeunload");
}
Run Code Online (Sandbox Code Playgroud)

然后在任何浏览器中都没有任何反应,甚至是Firefox.

我想要实现的是:

window.onbeforeunload = function() {
    saveFormData();
}
Run Code Online (Sandbox Code Playgroud)

如果有人能指出我可能出错的地方,我将不胜感激.

非常感谢

javascript javascript-events

41
推荐指数
3
解决办法
9万
查看次数

我的课程对我的作业来说足够好,但我知道它不好

我刚刚开始为uni工作,它为我提出了一个问题.

我不明白如何在没有内存泄漏的情况下从函数返回字符串.

char* trim(char* line)  {
    int start = 0;
 int end = strlen(line) - 1;

 /* find the start position of the string */
 while(isspace(line[start]) != 0)  {
     start++;
 }
 //printf("start is %d\n", start);

 /* find the position end of the string */
 while(isspace(line[end]) != 0)  {
     end--;
 }
 //printf("end is %d\n", end);

 /* calculate string length and add 1 for the sentinel */
 int len = end - start + 2;

 /* initialise char array to len and …
Run Code Online (Sandbox Code Playgroud)

c

29
推荐指数
2
解决办法
1113
查看次数

有没有办法为角度1.5组件动态渲染不同的模板

我有许多角度1.5组件,都采用相同的属性和数据结构.我认为它们可以重新考虑到单个组件中,但我需要一种基于type属性的插值来动态选择模板的方法.

var myComponentDef = {
    bindings: {
        type: '<'
    },
    templateUrl: // This should be dynamic based on interpolated type value
};

angular.module('myModule').component('myComponent', myComponentDef);
Run Code Online (Sandbox Code Playgroud)

我不能使用,templateUrl function($element, $attrs) {}因为它中的值$attrs是非插值的,所以我不会得到传入数据中指定的类型.

我可以只有一个带有一系列ng-ifng-switch指令的大模板,但我想将模板分开.

或者,我可以将组件分开并ng-switch在父组件中使用等,但我不喜欢这样,因为它看起来像是很多重复.

我正在寻找一种解决方案,我可以使用插入type传递到绑定中的插值来匹配每种类型的模板URL,然后将用于构建组件.

这可能吗?

谢谢

angularjs angular-components

16
推荐指数
2
解决办法
1万
查看次数

使用jQuery validate插件"this [0]未定义"消息

我已经开始使用jQuery validate插件了.我在显示错误消息时遇到了一些问题,并希望创建一个测试页面,在那里我可以尝试一些事情.尽管昨天有相同的设置为我工作,我现在收到以下消息:

this[0] is undefined
Run Code Online (Sandbox Code Playgroud)

查看jQuery代码,它在以下部分失败(特定行突出显示):

valid: function() {
    if ( $(this[0]).is('form')) {
        return this.validate().form();
    } else {
        var valid = true;
        **var validator = $(this[0].form).validate();**
        this.each(function() {
            valid &= validator.element(this);
        });
        return valid;
    }
}
Run Code Online (Sandbox Code Playgroud)

从它看,它必须认为我的验证器不是一个形式,但它是.真的不明白发生了什么.尝试将valid()方法的结果打印到控制台时,代码才会失败.到目前为止,这是我的代码.感谢任何帮助.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <style type="text/css">
        th {
            text-align: center;
        }
        .labelCol {
            width: 60px;
        }
    </style>
    <script type="text/javascript" src="jquery-1.6.1.full.js"></script>
    <script type="text/javascript" src="jquery.validate.full.js"></script>
    <script type="text/javascript">
        $('#myform').validate({
                        rules: {
                            thisval: "required"
                        }
        });
        console.info($('#myform').valid());
    </script>
</head>

<body>
    <form id="myform" name="myform" action="" …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-validate

12
推荐指数
1
解决办法
2万
查看次数

自动执行功能

可能重复:
(function(){})()之间的差异; 和function(){}();

我试图更好地理解JavaScript的一些功能.在The Definitive JavaScript其中说自动执行的函数应该有括号围绕它们:

var obj = (function() {
    var value = 0;

    return {
        increment: function(inc) {
            value += typeof inc === "number" ? inc : 1;
        },
        getValue: function() {
            return value;
        }
    }
})();
Run Code Online (Sandbox Code Playgroud)

但是在JavaScript - The Good Parts这个例子取自的地方,它具有上述自执行功能而没有括号圆,如下所示:

var obj = function() {
    var value = 0;

    return {
        increment: function(inc) {
            value += typeof inc === "number" ? inc : 1;
        },
        getValue: function() {
            return value;
        }
    } …
Run Code Online (Sandbox Code Playgroud)

javascript

10
推荐指数
1
解决办法
3574
查看次数

如何遍历所有组合,例如48选择5

可能重复:
如何在java中从一组大小为n迭代生成k个元素子集?

我想建立自己的扑克手评估员,但我遇到了特定部分的问题.

如果两名牌手获得两张牌,那么将会有48张牌.在Texas Hold'em中,再发出5张可能的社区牌(这称为牌局).我想枚举/循环所有48个选择5个可能的棋盘组合,并计算玩家A获胜的时间和玩家B获胜的时间以及他们的时间.

我不确定如何系统地循环每5张卡组合.有没有人有任何想法?这些卡表示为类卡的数组,但如果它使它更快,我也可以将它们表示为bitset.

我在Java中这样做.

非常感谢

java poker combinations combinatorics

9
推荐指数
2
解决办法
3万
查看次数

命名空间内的构造函数

我已经读过为JavaScript项目创建命名空间有助于减少与其他库的冲突.我有一些代码,有许多不同类型的对象,我已经定义了构造函数.将这些放在命名空间中也是一种好习惯吗?

例如:

var shapes = {
    Rectangle: function(w, h) {
        this.width = w;
        this.height = h;
    }
};
Run Code Online (Sandbox Code Playgroud)

可以通过以下方式调用:

var square = new shapes.Rectangle(10,10);
Run Code Online (Sandbox Code Playgroud)

javascript namespaces

9
推荐指数
2
解决办法
4602
查看次数

无法创建PoolableConnectionFactory(用户''@ localhost'拒绝访问

我一直在尝试为过去几天的Web应用程序设置DatabaseConnectionPool但没有成功.我已经阅读了Tomcat文档的相关部分以及关于该主题的大量内容,并认为我正在做的一切正确,但显然不是因为我继续得到以下错误:

Cannot create PoolableConnectionFactory (Access denied for user ''@'localhost' (using password: YES))
Run Code Online (Sandbox Code Playgroud)

当我启动Tomcat运行时,我没有收到错误,但是当我尝试运行以下servlet时:

package twittersearch.web;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.sql.*;
import javax.sql.*;
import javax.naming.*;
import twittersearch.model.*;
public class ConPoolTest extends HttpServlet {

    public void doGet(HttpServletRequest request,
                  HttpServletResponse response) 
                  throws IOException, ServletException {
        Context ctx = null;
        DataSource ds = null;
        Connection conn = null;
        try {
            ctx = new InitialContext();
            ds = (DataSource)ctx.lookup("java:comp/env/jdbc/twittersearchdb");
            conn = ds.getConnection();
            if(conn != null) {
                System.out.println("have a connection from the …
Run Code Online (Sandbox Code Playgroud)

mysql datasource tomcat6 mysql-error-1045

8
推荐指数
1
解决办法
4万
查看次数

php json_encode两次编码相同的数据

我从数据库中获取一些数据并将其编码为json:

$json = "";
if($result = $dbc->query($query)) {
    $num = $result->num_rows;
    for($i = 0; $i < $num; $i++) {
        $row = $result->fetch_array();
        $json .= json_encode($row);
        if($i != ($num-1)) {
        $json .= ',';
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但不是以格式获取json字符串:

{"name:"joe", "age":"22", "etc":"etc"}
Run Code Online (Sandbox Code Playgroud)

我得到的每个值都是重复的,因为它给了我元素名称作为关联和非关联数组的索引.所以我得到了:

{"0":"joe", "name":"joe", "1":"22", "age":"22", "3":"etc", "etc":"etc"}
Run Code Online (Sandbox Code Playgroud)

虽然我仍然可以使用json.它仍然是我想要它的两倍大小,因此效率不高.无论如何,我可以让json_encode方法只给我关联数组作为json标签?(毫无疑问,用错误的词语来描述这些事情)

非常感谢

php json

8
推荐指数
1
解决办法
5092
查看次数

字符集,eclipse中JSP文件的编码仍然是ISO-8859-1?

我手动将JSP文件的默认编码更改为UTF-8,但是当我使用模板$ {encoding}创建新文件时,charset始终设置为ISO-8859-1.

如何更改eclipse的设置,以便UTF-8是JSP文件的默认字符集?

eclipse encoding jsp file

8
推荐指数
3
解决办法
1万
查看次数