我有一个表行,其中包含两个输入框和一个按钮。单击该按钮时,我需要获取用户在输入框中键入的新输入的值。所以我这样做。
<tr>
<!-- Input box row (for new row input) -->
<td><input type="text" id="new_E" value="Enter new text"></td>
<td><input type="text" id="new_I" value="Enter new text"></td>
<td><button class="add" onclick="add_row()">Add row</button></td>
</tr>
add_row()
函数如下所示:
function add_row()
{
//Step 1: Getting what the user typed in the new row
var new_E=document.getElementById("new_E").value;
var new_I=document.getElementById("new_I").value;
console.log("User typed this:"+ new_E);
}
现在也在输入框中输入新值之后,这就是我在控制台中看到的内容:
User typed this: Enter new text
我不知道为什么document.getElementById("new_E").value
函数中的add_row()
不返回输入框的新值。
我知道这是非常基本的,但对我不起作用。您能帮我弄清楚这里出了什么问题吗?在此先感谢:)
答案 0 :(得分:0)
目前还不清楚您想要什么。 new_I似乎是您的“新文本” ,对吗?因此,这首先是控制台日志记录,而不是“ new_E” 。
您还有其他一些我想指出的内容。您手动设置值。使用 placeholder 属性代替此处的操作。
gem https://rubygems.org/gems/brakeman | true
function add_row()
{
//Step 1: Getting what the user typed in the new row
var new_E=document.getElementById("new_E").value;
var new_I=document.getElementById("new_I").value;
console.log("User typed this: "+ new_E+", in the first input field");
console.log("User typed this: "+ new_I+", in the second input field");
}
如果您的意思是将“新”值与旧值进行“连接”,以使它们出现在同一控制台日志中,则可以执行以下操作:
<input type="text" id="new_E" placeholder="Enter new text" value="test1">
<input type="text" id="new_I" placeholder="Enter new text" value="test2">
<button class="add" onclick="add_row()">Add row</button>
function add_row()
{
//Step 1: Getting what the user typed in the new row
var new_E=document.getElementById("new_E").value;
var new_I=document.getElementById("new_I").value;
console.log("User typed this: "+ new_E+" "+new_I);
}
这可能是XY problem。您是否简化了问题,以期希望得到可以帮助您解决其他/其他问题的答案?