2016-06-14 109 views
1

我想从JavaScript提示的值,并将其传递到输入最后提交的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(); 
} 
+1

这样吗?问题是什么?你有什么尝试。它背后的思考过程是什么 – Vatsal

+0

没有提交当我输入新名称@Vatsal – Frank

+0

不需要ACTION属性为它提交时做任何事情? – Observer

回答

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: "); 
0

它看起来你的jQuery选择器是错误的。尝试

$('#createdir').val(newdirname); 
$('#createdirForm').submit(); 

jQuery使用CSS选择逻辑,因此选择由ID,你需要把#选择名称之前的元素。

另外,要为输入添加一个值,您需要使用val(param),并将您的值替换为参数。

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(); 
+0

正在提交,但目录名称为空我试图输出它,但没有显示'<?php if(isset($ _ POST ['dir'])){echo $ _POST ['dir'];}?> – Frank

+0

必须为''设置一个名称。 – Sun

+0

我已更新我的答案! – Sun