修改此代码以在窗口上运行.加载而不是表单提交
modifying this code to run on window.load instead of on form submit
我对web开发很陌生,虽然我已经把我的头包裹在javascript周围,但我试图修改一些代码,我抓住了github上用jquery编写的我自己的个人使用。基本上现在代码是从输入表单onsubmit
执行的,但是我计划在代码发送到客户端执行之前在服务器上用php填写表单数据,所以我想修改下面的代码以在window.load
上运行。我已经缩小了需要修改的东西,从几百行代码到下面代码块中的render: function(){
中的某个地方,但我不确定如何准确地做到这一点,并将输入正确地传递给应用程序
var InputView = Backbone.View.extend({
initialize: function() {
_.bindAll(this, 'create');
this.template = _.template($('#input_template').html());
},
render: function() {
this.$el.html(this.template({}));
this.$el.find('form').submit(_.bind(function(event) {
window.location = '#' + this.$el.find('input').val();
}, this));
this.$el.find('#create').click(this.create);
this.$el.find('#create').on('click', this.create, this);
return this;
},
基本上我只需要知道如何正确地将this.$el.find('input').val();
绑定到php echo…很抱歉外包,但我真的不明白到底是怎么回事在所有这些代码,所以任何帮助,这将是非常感谢
这里是InputView
函数的其余部分,以防它是相关的,但我认为它不是
create: function(event) {
if(this.$el.find('#create').hasClass('disabled')) return;
var button = this.$el.find('#create');
button.addClass('disabled');
event.preventDefault();
var product = 'Torque';
var btapp = new Btapp;
btapp.connect({
queries: [['btapp', 'create'], ['btapp', 'browseforfiles']],
product: product,
poll_frequency: 500
});
var status = new Backbone.Model({
btapp: btapp,
product: btapp.get('product'),
status: 'uninitialized'
});
var status = new StatusView({model: status});
$('.toolbox').append(status.render().el);
var browse_ready = function() {
btapp.off('add:bt:browseforfiles', browse_ready);
btapp.trigger('input:waiting_for_file_selection');
btapp.browseforfiles(function(files) {
var files = _.values(files);
if(files.length === 0) {
btapp.trigger('input:no_files_selected');
setTimeout(function() {
btapp.disconnect();
status.destroy();
button.removeClass('disabled');
}, 3000);
return;
}
var create_callback = function(data) {
btapp.disconnect();
btapp.trigger('input:torrent_created');
setTimeout(_.bind(btapp.trigger, btapp, 'input:redirecting'), 1000);
setTimeout(function() {
status.destroy();
window.location = '#' + data;
}, 3000);
}
var torrent_name = create_torrent_filename(files);
console.log('btapp.create(' + torrent_name + ', ' + JSON.stringify(files) + ')');
btapp.create(torrent_name, files, create_callback);
btapp.trigger('input:creating_torrent');
});
};
btapp.on('add:bt:browseforfiles', browse_ready);
btapp.on('all', _.bind(console.log, console));
}
});
所以我基本上解决了我自己的冗长的问题所有我正在寻找的是改变这一行
this.$el.find('form').submit(_.bind(function(event) {
this.$el.ready(_.bind(function(event) {
无论如何可能没有人回答,因为它开始我实际上学习一些jquery语法我已经放了很长时间了:)
相关文章:
- Highcharts赢得't加载表单外部文件
- 如何在加载表单时获得对Builder配置的Jenkins果冻脚本中表单元素的引用
- Yii ActiveForm:通过jQuery.load加载表单
- 如何使用基于角度$resource的值加载表单
- 加载表单时在警报框中显示父联系人任务
- 如何在 ajax 加载表单上激活 django form.media javascript
- 在提交时重新加载表单,并提供最新的帖子数据
- Yii 客户端验证在 ajax 加载表单上不起作用
- 在窗口上加载表单未加载
- 如何用数据预加载表单(新操作),然后在Ruby on Rails中提交
- 如何在 IE 中强制重新加载表单
- 使用 ajax 加载表单并使用 jQuery 提交
- 将表单发送到电子邮件地址,还可以从cookie中保存/加载表单
- Jquery实时加载-通过ajax加载表单
- 再次使用ajax加载表单时未选中单选按钮
- 加载表单在同一分区中提交结果
- 加载表单后立即失去焦点
- 在第一部分完成ajax之后加载表单的第二部分
- 如何在不刷新、显示输出、重新加载表单、冲洗和重复的情况下提交表单
- 动态加载表单和提交脚本