添加动态按钮

时间:2015-07-17 19:12:37

标签: javascript php jquery html

我是JScript的新手...我正在尝试动态添加文本框并选择菜单到我拥有的表单......并且我已经成功地使它们出现了。问题是JQuery不能在表单页面上工作。我可以看到页面上的文本框,但是如果我查看它们不在那里。我还没有这么做,但我认为在提交表单并在其他页面上获取值时我可能会遇到问题。提前致谢 HTML:

configure()

JQUERY / Jscript中

<div name="Add_Interface_" id="Add_Interface_" style="display:none" class="addInt">
Add Interface 
<input type="button" name="Add_Interface_Button"id="Add_Interface_Button" value="+" onclick="addInt(this)">
</div> 

function addInt(button){

var counter2 = 1;

Myphp:

var jqxhr = $.ajax({url: 'dynamicButtons.php',
type: 'post',
data: {'calladdInt': '1',
'counter2': counter2}
}).done(function(response) {
  alert(response);
  var txtbox = response;
  $(button).parents().find('.addInt').append(txtbox);
});

counter2++;
}


 $('select[name=Int_Type_1]').change(function(){
   if ($('select[name=Int_Type_1]').val() == 'Switchport'){
    $('#Switchport_Div_1').show();
   }else{
    $('#Switchport_Div_1').show();
   }
  });

缺少的部分是我用php编写的模板类。它只是构造了html标签,所有这些都在工作......如果有人需要它我可以发布它......

1 个答案:

答案 0 :(得分:0)

严格来说,您的代码没有任何问题。

根据您的说法,文本框出现在“呈现的”HTML页面上,即使它们不在HTML源代码中。这是因为响应中的HTML页面已更改,并且您的文本框已添加。因此,它们不会出现在原始来源中。

另外,您对提交问题的观察是正确的。我不是PHP专家,但是如果它涉及通过名称和getter-setter逻辑访问PHP代码中的文本框值,那就行不通了。

编辑:将不会执行在页面元素中作为HTML附加的任何jQuery代码。这些代码应该保留在元素之外。

请注意,“动态”框的选择器不正确。您的选择器仅用于选择[name = Int_Type_1]。因此,它对其他人不起作用,例如select [name = Int_Type_2],这将在稍后生成。改为使用类选择器。