小编Tiv*_*vie的帖子

AngularJS条件ng-disabled不会重新启用

给定有条件禁用的文本输入字段使用ng-disabled="truthy_scope_variable",AngularJS在第一次伪造范围变量禁用该字段,但在后续更改时不启用它.结果,该字段保持禁用状态.我只能假设出错了,但Console日志是空的.

真实范围变量与单选按钮模型绑定,我甚至$watch可以更改,但输入字段ng-disabled不能按预期工作.我已手动尝试调用$apply,但看起来Angular正在触发DOM更改.

在控制器中:

$scope.new_account = true
Run Code Online (Sandbox Code Playgroud)

单选按钮:

<input type="radio" ng-model="new_account" name="register"
 id="radio_new_account" value="true" />

<input type="radio" ng-model="new_account" name="register"
 id="radio_existing_account" value="false" />
Run Code Online (Sandbox Code Playgroud)

有条件禁用的输入字段:

<input type="password" ng-disabled="new_account" id="login-password"
 name="password" ng-model="password" />
Run Code Online (Sandbox Code Playgroud)

如果我最初设置$scope.new_account = false,该字段将被禁用,但永远不会重新启用.为什么会这样?

javascript angularjs angularjs-scope

38
推荐指数
2
解决办法
7万
查看次数

SplObjectStorage :: contains和SplObjectStorage :: offsetExists有什么区别?

PHP文档不是很明确,只说明:

SplObjectStorage :: offsetExists 检查存储中是否存在对象.(PHP> = 5.3.0)

SplObjectStorage :: contains 检查存储是否包含提供的对象.(PHP> = 5.1.0)

这对我来说几乎是一回事.

问题:除了offsetExists仅在5.3.0中可用之外,2之间有什么区别?


我进行的小测试......

$s = new SplObjectStorage();
$o1 = new StdClass();
$o2 = new StdClass();
$o3 = "I'm not an object!";
$s->attach($o1);

var_dump($s->contains($o1));
var_dump($s->offsetExists($o1));
echo '<br>';
var_dump($s->contains($o2));
var_dump($s->offsetExists($o2));
echo '<br>';
var_dump($s->contains($o3));
var_dump($s->offsetExists($o3));
Run Code Online (Sandbox Code Playgroud)

输出:

boolean true
boolean true

boolean false
boolean false

Warning: SplObjectStorage::contains() expects parameter 1 to be object, string given in index.php on line 15
null

Warning: SplObjectStorage::offsetExists() expects parameter 1 to be …
Run Code Online (Sandbox Code Playgroud)

php spl php-internals splobjectstorage

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

对于CheckedListBox中的每个<item>.<item>返回Object而不是Control

我之前填充了CheckedListBox.我希望通过CheckedListBox中的所有项循环"for each/next",并对checkedlistbox的每个迭代元素执行大量"填充"操作.

示例代码:

    For Each item In CheckedListBox1.Items

        If item.Checked = True Then

            'do stuff like
            item.BackColor = Color.Blue

        Else

            'do other stuff
            item.BackColor = Color.Brown

        End If

    Next
Run Code Online (Sandbox Code Playgroud)

问题是"对象"类型而不是"控件"类型.如果我强制迭代var为CheckBox,它会抛出一个InvalidCastException,说'System.String'类型不能与'System.Windows.Forms.CheckBox'类型相关联

我知道我可以很容易地解决这个问题,但是我想在每个/下一个循环中使用a,因为我在该循环中有很多代码(而且不能使用)并且总是直接指向对象是我希望的避免,我真的需要代码尽可能简单.

我实际上花了一个下午寻找这个,但找不到任何答案.

vb.net foreach controls object checkedlistbox

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

强制粘贴事件以在base64中编码图像

背景:

我正在为我的公司开发一个HTML5 webapp,它基本上是一个富文本编辑器(类似于Google Docs),它将信息存储在数据库中.

我们使用CKEditor 3作为富文本编辑器和Jquery来实现这一点.

我们选择Google的Chrome作为首选浏览器.

我们的应用程序目前处于alpha测试阶段,拥有一组18个测试人员(与使用该应用程序的测试人员相同).这些人是异类的,但他们中几乎所有人都具备基本的计算机技能,主要限于MS Word和MS Excel.

.

问题:

我们的大多数用户仍然使用word来详细说明文档,主要是因为它具有生成丰富流程图的能力.当他们将生成的内容复制/粘贴到Chrome时,图像将作为链接粘贴到本地文件(由OS自动生成,位于users/*/temp文件夹中).这意味着服务器无法访问这些文件,生成的文档(生成的PDF)不包含图像.

.

如何强制粘贴的图像在base64中编码,类似于Firefox中发生的情况?

.

笔记

如果可以"上传"到服务器的引用为src ="file:// c:\ something"的图像,那将解决我的问题,因为我可以在以后对该图像进行base64编码.

我们无法切换到Firefox,因为它没有完全解决我们的问题(如果图像与文本一起"粘贴",firefox没有base64编码)并引发其他问题,例如文本时出现的水平滚动条太长,无法适应textarea.

javascript jquery web-applications

9
推荐指数
1
解决办法
5246
查看次数

如何将HTML插入PHP DOM对象?

我正在使用PHP的DOM对象为我的网站创建HTML页面.这对我来说非常有用,但是由于我将在身体中输入大量HTML(而不是通过DOM),我认为我需要使用DOM->createElement($bodyHTML)将我的HTML从我的网站添加到DOM对象.

DOM->createElement似乎解析所有HTML实体,所以我的最终结果最终显示在页面上的HTML而不是实际呈现HTML.

我目前正在使用hack来实现这一点,

$body = $this->DOM
             ->createComment('DOM Glitch--><body>'.$bodyHTML."</body><!--Woot");
Run Code Online (Sandbox Code Playgroud)

这将我的所有站点代码放在评论中,我在评论中绕过并手动添加<body>标签.

目前这种方法有效,但我相信应该有更合适的方法.理想情况下,类似的东西DOM->createElement()不会解析任何字符串.

我也试过使用DOM->createDocumentFragment()但是它不喜欢一些字符串所以它会出错并且不起作用(除了占用额外的CPU能力来重新解析正文的HTML).

所以,我的问题是,除了使用之外,还有更好的方法DOM->createComment()吗?

php dom

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

使用TextWatcher进行EditText验证

我有一个带有a EditText和按钮的Dialog .这EditText将命名我将创建的数据库表,以便验证它的最重要性.所以我想提出2个问题:

1)这很简单,但我无法在任何地方找到它:数据库表名称可以接受哪些字符?可以接受号码吗?并且数字可以是第一个字符吗?

2)我设法验证EditText使用TextWtacher.这是代码:

et_name.addTextChangedListener(new TextWatcher() {

public void afterTextChanged(Editable s) {

    String filtered_str = s.toString();

        if (filtered_str.matches(".*[^a-z^0-9].*")) {

        filtered_str = filtered_str.replaceAll("[^a-z^0-9]", "");

        s.clear();

        // s.insert(0, filtered_str);

        Toast.makeText(context,
            "Only lowercase letters and numbers are allowed!",
            Toast.LENGTH_SHORT).show();

    }

}

    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

    public void onTextChanged(CharSequence s, int start, int before, int count) {}
});
Run Code Online (Sandbox Code Playgroud)

目前,如果用户插入除小写字母和数字以外的任何字符,则清除文本框.如果我取消注释s.insert(0, filtered_str);以使用过滤后的字符串替换EditText,我的应用程序将挂起.猜猜我在调试中发现了什么?

错误/ AndroidRuntime(2454):java.lang.StackOverflowError = D.

问题是......我怎样才能替换s文本?

- …

java string android textwatcher android-edittext

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

循环遍历Activity中的所有"小部件"/元素

我几天前开始使用自己的Android应用程序,因为我需要一个移动应用程序来存储我在医院收集的一堆数据.

我对Java和android环境都很陌生,虽然它看起来很容易理解并且与C++非常相似.

无论如何,我的应用程序有一堆"EditText"和单选按钮,我的问题是:

如何遍历所有这些小部件(EditTexts和单选按钮)?

在.NET中你可以做一个"为容器中的每个元素"循环,但我似乎无法在Java/android环境中找到一种方法.

注意:我不知道活动中有多少"小部件"存在,因为有些是创建的,有些是硬编码的,有些则显示是否设置了某些用户首选项

任何帮助或提示将不胜感激.

java android for-loop widget

6
推荐指数
1
解决办法
1910
查看次数

什么是最好的:每个记录1个表或1个表,所有记录都与外键相关联?

我有一个应用程序,允许用户创建不同的表单(调查),然后填写它们.(所以它可以替代纸张).

这是我在应用程序中使用的当前模型:

 Table 1)
+-------------------------+
|      SURVEYS TABLE      |   
+----+------+-------------+
| ID | name | description |  
+----+------+-------------+

 Table 2)   
+-----------------------------------+
|       $[name_of_the_survey]       |
+----+-------+------+-------+-------+
| ID | field | type | value | items |
+----+-------+------+-------+-------+


 Table 3)
+--------------------------------------+
|    $[name_of_the_survey] _records    |
+----+---------------------------------+
| ID | columns specific to each survey |
+----+---------------------------------+
Run Code Online (Sandbox Code Playgroud)

所以基本上当用户创建调查时,程序会在Surveys Table中插入一条记录,然后创建2个表:

表(2)用于表格(3)的字段,用于将要存储的记录,其中列对应于表(2)行.

它有效,但有一些局限性.例如,当您向表(2)添加字段时,它必须读取表(3)内容,将其保存到虚拟表,删除上一个表(3)并创建一个新表.当表(3)具有大量记录时,这可能是性能问题.

所以我的问题是......有更好的数据库设计吗?

database sqlite android database-design

6
推荐指数
1
解决办法
267
查看次数

如何在确定的位置充气视图?

我有一个带有"添加"和"删除"按钮的活动.

"添加按钮"会使视图膨胀,"删除按钮"会删除选定的视图.

当我使用"添加按钮"给视图充气时,它会自动绘制在任何先前的隐藏视图下方.

我想让用户有可能上下移动每个充气的视图,这样他就可以改变它们在屏幕上显示的顺序(在一种拖拽效果中)

+---------------------+     +---------------------+
| +-----------------+ |     | +-----------------+ | 
| |      View 1     | |     | |      View 2     | |  
| +-----------------+ |     | +-----------------+ |
|                     | --> |                     |
| +-----------------+ |     | +-----------------+ |
| |      View 2     | |     | |      View 1     | |
| +-----------------+ |     | +-----------------+ |  
+---------------------+     +---------------------+
Run Code Online (Sandbox Code Playgroud)

是否可以指定每个视图膨胀的"位置"?(例如,低于或高于当前选定的视图?)

如果没有,达到预期效果的最佳方法是什么?

(如果您认为可能有帮助,请随时询问任何代码段)

android drag-and-drop view inflate

6
推荐指数
1
解决办法
3260
查看次数

在开发库时,我们应该抛出错误/异常吗?

我正在开发一个供其他人使用的发布/订阅中介库,但我不知道如何处理错误。

这是一段示例代码:

/**
 *
 * @param String channel Channel to subscribe
 * @param String|function callback Function name or callback
 * @param String context Context to bind function to
 * @param Boolean once True to subscribe once
 **/
this.subscribe = function (channel, callback, context, once) {

    if (!_.isObject(context)) {
         context = window;
    }

    if (!_.isFunction(subscription) && !_.isFunction(context[subscription])) {
        throw new Error('Function passed as callback to channel subscription named  ' + channel + ' seems invalid!');
    }

    // Everything ok, add to …
Run Code Online (Sandbox Code Playgroud)

javascript debugging error-handling shared-libraries

6
推荐指数
1
解决办法
1657
查看次数