小编Mil*_*ric的帖子

jquery clone表单字段和增量id

我有一个表单元素块,我想克隆并使用jQuery clone方法增加它们的ID.我尝试了很多例子,但很多例子只是克隆了一个字段.

我的块结构如下:

<div id="clonedInput1" class="clonedInput">
  <div>
    <div>
      <label for="txtCategory" class="">Learning category <span class="requiredField">*</span></label>
      <select class="" name="txtCategory[]" id="category1">
        <option value="">Please select</option>
      </select>
    </div>
   <div>
     <label for="txtSubCategory" class="">Sub-category <span class="requiredField">*</span></label>
     <select class="" name="txtSubCategory[]" id="subcategory1">
       <option value="">Please select category</option>
     </select>
   </div>
   <div>
     <label for="txtSubSubCategory">Sub-sub-category <span class="requiredField">*</span></label>
     <select name="txtSubSubCategory[]" id="subsubcategory1">
       <option value="">Please select sub-category</option>
     </select>
   </div>
</div>
Run Code Online (Sandbox Code Playgroud)

很明显,元素排列得更好,但你明白了.

我想保留id结构,即category1,subcategory1等,因为我使用它们来动态显示基于父选择的选择选项,所以如果它可能让每个克隆块像category1/category2/category3等那样会很棒.

javascript jquery

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

有没有办法在JavaScript中监听控制台事件?

我正在尝试在javascript中为未捕获的异常和浏览器警告编写处理程序.应将所有错误和警告发送到服务器以供日后查看.

可以捕获处理的异常并轻松记录

console.error("Error: ...");
Run Code Online (Sandbox Code Playgroud)

要么

console.warn("Warning: ...");
Run Code Online (Sandbox Code Playgroud)

因此,如果从javascript代码调用它们就不会有问题,甚至更多,未处理的异常可以通过这种代码安静来捕获:

window.onerror = function(){
    // add to errors Stack trace etc.
   });
}
Run Code Online (Sandbox Code Playgroud)

因此异常被覆盖,但我一直坚持浏览器发送到控制台的警告.例如安全性或html验证警告.以下示例来自Google Chrome控制台

https://domainname.com/上的页面从http://domainname.com/javascripts/codex/MANIFEST.js运行了不安全的内容 .

如果有像window.onerror这样的事件但是警告会很棒.有什么想法吗?

javascript browser cross-browser dom-events

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

CRUD&JsonP/Sencha Touch 2

通过代理类型'jsonp'上传记录的正确方法是什么?我正在尝试使用代理类型"jsonp"同步()商店,但我收到错误消息.

这是模型:

Ext.define("Sencha.model.User", {
    extend:"Ext.data.Model",
    //idProperty:"",


    config:{
        fields:[
            'userID',
            'userName',
            'userEmail'
        ],


        proxy: {
            type: 'jsonp',
                create  : 'http://domainname.com/users.php?action=insert',
                read    : 'http://domainname.com/users.php?action=fetchAll',
                update  : 'http://domainname.com/users.php?action=update',
                destroy : 'http://domainname.com/users.php?action=delete'
            },
            callbackKey: 'callback',
            reader: {
                type: 'json',
                rootProperty: 'Users',
                successProperty: 'success',
                messageProperty: 'message'
            },
            writer: {
                type: 'json',
                writeAllFields: false,
                encode: true
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

商店:

Ext.define("Sencha.store.Users", {
    extend:"Ext.data.Store",
    config:{
        model:"Sencha.model.User",
        remoteFilter:false,
        remoteSort:true,
        autoLoad:true,
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

商店更新:

Ext.getStore('Users').set('userName', 'Tom');
Run Code Online (Sandbox Code Playgroud)

现在我想更新数据库中的记录:

Ext.getStore('Objects').sync();
Run Code Online (Sandbox Code Playgroud)

但我得到错误: 未捕获错误:[错误] [Ext.data.proxy.Server #create] JsonP代理只能用于读取数据.

如何更新记录数据 - 通过代理将其上传到数据库?

proxy jsonp extjs touch cordova

7
推荐指数
1
解决办法
2134
查看次数