【发布时间】:2012-02-19 16:04:11
【问题描述】:
我是一名 php 开发人员,开始对 ajax 越来越感兴趣,但我遇到了一个不知道如何解决的问题。
我正在像这样动态创建一个表单:
function addSearchResult(label, tz) {
var html = '';
html += '<div>'
html += '<form id="product-form" >';
html += '<div class="clock">'
html += '<div class="hour"></div>'
html += '<div class="min"></div>'
html += '<div class="sec"></div>'
html += '<input type="text" id="label" name="Label" placeholder="Label">'
html += '</div>'
html += '<div class="city">GMT</div>'
html += '<a href="#" class="whiteButton submit" id="view-product-button" >View</a>'
html += '</form>'
html += '</div>'
var insert = $(html);
$('#search-results').append(insert.data('tz_offset', tz).find('.city').html(label).end());
}
我正在阅读这样的表单结果:
$('#product-form').submit(function() {
alert('OK');
addProduct('Test Value', 'Test Produlct');
$('input').blur();
$('#add .cancel').click();
this.reset();
return false;
});
问题是,它不起作用。如果我将表单直接放在 html 中,它可以正常工作。但是通过ajax添加,它不会发现表单存在。
我应该如何解决这个问题?
【问题讨论】:
-
除了 Rory McCrossan 所说的,帮自己一个忙,使用客户端 HTML 模板,如 Handlebars,而不是一点一点地构建 HTML 字符串,然后用 jQuery 操作它来更改你的数据需要改变。
标签: javascript jquery ajax forms jqtouch