Javascript 为什么输入类型=文本的document.getElementById失败

Javascript 为什么输入类型=文本的document.getElementById失败,javascript,php,html,Javascript,Php,Html,我正在尝试使用getElementById从表单获取数据。如果我从下面这样的选择表单获取,它会工作,但为什么当我尝试从文本框获取时它会失败呢 <select name="permission" id="permission" class="select2"> <option value="rw">Read &amp; Write</option> <option value="r">Read Only</option&

我正在尝试使用getElementById从表单获取数据。如果我从下面这样的选择表单获取,它会工作,但为什么当我尝试从文本框获取时它会失败呢

<select name="permission" id="permission" class="select2">
    <option value="rw">Read &amp; Write</option>
    <option value="r">Read Only</option>
</select>
<p id="demo"></p>

<script>
    var x= document.getElementById("permission").value;
    document.getElementById("demo").innerHTML = x;
</script>
如果我更改了租户从下面文本框获取的权限,它不会显示。我很困惑

<input type="text" id="tenants" name="tenants" class="form-control">
请使用

<input type="text"  id="permission" name="tenants" class="form-control">
看看你原来的剧本

<select name="permission" id="permission" class="select2">
    <option value="rw">Read &amp; Write</option>
    <option value="r">Read Only</option>
</select>
<p id="demo"></p>
<script>
  var x= document.getElementById("permission").value;
  document.getElementById("demo").innerHTML = x;
</script>

这段代码只从具有id权限的select中获取值,并使用id演示将其存储到p。

您的问题有点让人困惑,所以我将根据自己的理解回答

您希望从其id值为permission的数据中获取数据。 正确的语法如下:

HTML:

你能试试这个吗

功能租户改变{ var x=document.getElementByIdtenants.value; document.getElementByIddemo.innerHTML=x; } 租户改变;

您可以像下面这样给出

<input type="text" id="txtbox" name="txtbox" value="" class="form-control">
<script>
    var x= document.getElementById("txtbox").value;
    document.getElementById("demo").innerHTML = x;

    //or you can use jquery if you want

    var x = $("#txtbox").val();
    ("#demo").html = x;
</script>

您仅在加载时执行脚本,如果您想在手动更改输入值后查看,您应该添加一个事件侦听器,但在您的示例中,您唯一需要做的就是为您的文本框提供一个默认值:

var x=document.getElementByIdtenants.value; document.getElementByIddemo.innerHTML=x;


你是如何尝试文本框的?我们能看到吗?var x=document.getElementByIdtenants.value;document.getElementByIddemo.innerHTML=x?如果我将“摘要”更改为“租户”,您发布的代码中的“摘要”在哪里?请参阅我的编辑。我想这并不能解决我的问题。id应该是唯一的,因为我使用该id使用ajax获取数据。是的,我就是这么做的。但是我注意到我不能得到输入值,除非我把value=something放进去,然后它会显示一些东西。问题是我得到的数据来自ajax页面,而查询来自数据库。我该怎么解决这个问题呢?是的,也许你应该把ajax代码和查询放在你的问题上
<select name="permission" id="permission" class="select2">
    <option value="rw">Read &amp; Write</option>
    <option value="r">Read Only</option>
</select>
<p id="demo"></p>
<script>
  var x= document.getElementById("permission").value;
  document.getElementById("demo").innerHTML = x;
</script>
<input type="text"  id="permission" name="tenants" class="form-control">
var x = document.getElementById("permission").value;
<input type="text" id="txtbox" name="txtbox" value="" class="form-control">
<script>
    var x= document.getElementById("txtbox").value;
    document.getElementById("demo").innerHTML = x;

    //or you can use jquery if you want

    var x = $("#txtbox").val();
    ("#demo").html = x;
</script>