Javascript php在选中复选框后添加文本框不会发布

Javascript php在选中复选框后添加文本框不会发布,javascript,php,input,getelementbyid,Javascript,Php,Input,Getelementbyid,我有一个代码,当复选框出现时添加输入文本,但是从代码中获取值不起作用。这是我的密码: <input name=ship[] type=checkbox value=example id=Ex>Application Model Example <span id='Location'>& nbsp;</span> var checkbox = document.getElementById('Ex'); checkbox.addEventListene

我有一个代码,当复选框出现时添加输入文本,但是从代码中获取值不起作用。这是我的密码:

<input name=ship[] type=checkbox value=example id=Ex>Application Model Example
<span id='Location'>& nbsp;</span>

var checkbox = document.getElementById('Ex');
checkbox.addEventListener('change', function () {
if (document.getElementById('modelType')) {
    document.getElementById('modelType').remove();
} else {
      var input = document.createElement("input");
      input.name = 'modelType';
      input.id = 'modelType';
      input.type = 'text';
      input.placeholder = 'Model Type';
      input.required;
      document.body.appendChild(input);
      var foo = document.getElementById('Location');
      foo.appendChild(input);
}
});

<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo "Model Type is $modelType";
}
应用程序模型示例
 ;
var checkbox=document.getElementById('Ex');
复选框.addEventListener('change',function(){
if(document.getElementById('modelType')){
document.getElementById('modelType').remove();
}否则{
var输入=document.createElement(“输入”);
input.name='modelType';
input.id='modelType';
input.type='text';
input.placeholder='模型类型';
所需的投入;
document.body.appendChild(输入);
var foo=document.getElementById('Location');
foo.appendChild(输入);
}
});

您没有正确使用PHP。很长一段时间以来,它都没有根据表单输入为您自动创建变量。这是一件好事
register_globals
已经死了,走了,而且很光荣

你的代码应该是

echo "Model Type is {$_POST['modelType']}";

您应该将属性值放在引号中。它们不是每种情况下都需要的,但它们使代码更干净、更易于阅读和维护。除了@MarcB的答案外,您的代码周围是否有一个包含
method=“post”
?是的,一切正常(表单还有更多内容),除了我无法获得javascript添加的输入字段的值。所有其他一个都可以。对,谢谢,回音不是问题,即使我将其更改为get而不是post modelType,它也不会出现在url中。使用post和上面的代码可以做完全相同的事情$未定义模型类型。同样在这段代码上面,我有一个if(isset($\u POST['modelType']){$modelType=$\u POST['modelType'];}