2016-06-14 33 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