给定有条件禁用的文本输入字段使用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,该字段将被禁用,但永远不会重新启用.为什么会这样?
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) 我之前填充了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,因为我在该循环中有很多代码(而且不能使用)并且总是直接指向对象是我希望的避免,我真的需要代码尽可能简单.
我实际上花了一个下午寻找这个,但找不到任何答案.
背景:
我正在为我的公司开发一个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.
我正在使用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()吗?
我有一个带有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文本?
- …
我几天前开始使用自己的Android应用程序,因为我需要一个移动应用程序来存储我在医院收集的一堆数据.
我对Java和android环境都很陌生,虽然它看起来很容易理解并且与C++非常相似.
无论如何,我的应用程序有一堆"EditText"和单选按钮,我的问题是:
如何遍历所有这些小部件(EditTexts和单选按钮)?
在.NET中你可以做一个"为容器中的每个元素"循环,但我似乎无法在Java/android环境中找到一种方法.
注意:我不知道活动中有多少"小部件"存在,因为有些是创建的,有些是硬编码的,有些则显示是否设置了某些用户首选项
任何帮助或提示将不胜感激.
我有一个应用程序,允许用户创建不同的表单(调查),然后填写它们.(所以它可以替代纸张).
这是我在应用程序中使用的当前模型:
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)具有大量记录时,这可能是性能问题.
所以我的问题是......有更好的数据库设计吗?
我有一个带有"添加"和"删除"按钮的活动.
"添加按钮"会使视图膨胀,"删除按钮"会删除选定的视图.
当我使用"添加按钮"给视图充气时,它会自动绘制在任何先前的隐藏视图下方.
我想让用户有可能上下移动每个充气的视图,这样他就可以改变它们在屏幕上显示的顺序(在一种拖拽效果中)
+---------------------+ +---------------------+
| +-----------------+ | | +-----------------+ |
| | View 1 | | | | View 2 | |
| +-----------------+ | | +-----------------+ |
| | --> | |
| +-----------------+ | | +-----------------+ |
| | View 2 | | | | View 1 | |
| +-----------------+ | | +-----------------+ |
+---------------------+ +---------------------+
Run Code Online (Sandbox Code Playgroud)
是否可以指定每个视图膨胀的"位置"?(例如,低于或高于当前选定的视图?)
如果没有,达到预期效果的最佳方法是什么?
(如果您认为可能有帮助,请随时询问任何代码段)
我正在开发一个供其他人使用的发布/订阅中介库,但我不知道如何处理错误。
这是一段示例代码:
/**
*
* @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)