我想从JavaScript提示中获取值并将其传递给输入以便最终提交
HTML
<form id="createdirForm"><input type="text" name="" id="createdir"/><form>
JavaScript
function createdir() {
var newdirname;
newdirname = prompt('Please input the directory name:', '');
if (!newdirname) return;
$('createdir').newdirname.value = newdirname;
$('createdirForm').submit();
}
答案 0 :(得分:2)
它无法正常工作的原因是因为你没有正确调用jQuery中的选择器。
您可能需要查看jQuery Selector Tutorial。
现在要解决您的问题,因为您希望通过id
属性获取输入和表单,就像在CSS中一样,您需要使用hashtag (#)
符号。
所以你会这样做:
$('#createdir').val(newdirname);
$('#createdirForm').submit();
以下是一个有效的例子:https://jsfiddle.net/vm4ah1L3/1/
请注意,您可能希望为html输入添加名称,否则当您将其提交给PHP时,由于name属性为空,您将无法检索该值。
<input type="text" name="dirName" id="createdir">
在您的情况下,由于您声明变量newdirname
并在之后立即分配,您只需在一行中进行分配:
var newdirname = prompt("Please input a directory name: ");
答案 1 :(得分:0)
看来你的jQuery选择器是错误的。尝试
$('#createdir').val(newdirname);
$('#createdirForm').submit();
jQuery使用css选择器逻辑,因此要按ID选择元素,需要将#
放在选择器名称之前。
另外,要为输入添加值,您需要使用val(param)
并在参数中替换您的值。
答案 2 :(得分:0)
您有一些拼写错误,忘记添加#
。并且该功能未执行。
<强> HTML 强>
<form id="createdirForm">
<input type="text" name="dir" id="createdir" />
</form>
<强>的JavaScript 强>
function createdir() {
var newdirname;
newdirname = prompt('Please input the directory name:', '');
if (!newdirname) return;
$('#createdir').value = newdirname;
$('#createdirForm').submit();
}
createdir();