2011-10-31 33 views
1

私のHTMLファイルの中で、2つのパラメータを取るjavascript関数を呼び出します。ここで、2番目のパラメータは保存するファイルの名前です。テキスト入力から値をJavaScript関数に渡す

<a id="record_button" onclick="Recorder.record('audio', 'test.wav');" href="javascript:void(0);" title="Record"><img src="images/record.png" width="24" height="24" alt="Record"/></a> 

Iがテキストフィールドからの値をとる動的変数を作成して(代わりtest.wavの)2番目のパラメータとしてそれを転送したいので、ユーザは、ファイルの名前を決定することができます。

<label for="filename">Filename</label> 
<input name="filename" type="text"> 

ありがとうございます。あなたが制御されていない場合は、その

document.getElementById('filename').value 

注:

<input name="filename" id="filename" type="text"> 

今すぐあなたとJavaScriptで値にアクセスすることができます:あなたは、ユーザー入力にid属性を与える場合

答えて

10

これは簡単ですRecorder.record()メソッドを使用するには、ユーザー入力を最初に検証する必要があります(少なくとも、何かを入力したことを確認する必要があります)。私は、例えば、別の関数にこれを移動するお勧めします:

function recordToFilename() { 
    var input = document.getElementById('filename'), 
     fileName = input.value; 
    if (fileName) { 
     Recorder.record('audio', fileName); 
    } else { 
     alert('Please enter a filename!'); 
     input.focus(); 
    } 
} 

それからちょうどその関数を使用します。

<a id="record_button" onclick="recordToFilename();" href="javascript:void(0);" title="Record"><img src="images/record.png" width="24" height="24" alt="Record"/></a> 

の作業例:http://jsfiddle.net/nrabinowitz/GFpRy/

+0

いいです。 'alert'に' fileName.focus() 'を追加するだけです:) –

+0

@Márcio - 良いアイデア - 上記に加えました。また、 '警告'を 'プロンプト'にして、入力を完全に捨てることもできます。 – nrabinowitz

+0

返信ありがとうございます。私はに、自分のHTMLファイルの中に作成しました。しかし、レコードボタンを押しても何も起こりません。私がonclickをRecorder.record( 'audio'、 'test.wav')に変更するとすぐに。それは動作しますが、recordToFilename();それは –

2
Recorder.record('audio', document.yourformname.filename.value) 

name="?"を持っていることを確認してくださいフォームの名前として入力したものと置き換えてください。yourformnamefilenameは、入力のname属性も参照します。

0
<html> 
<head> 
    <script> 
    function addData (fn, ln, em) { 

     console.log(fn); 
     console.log(ln); 
     console.log(em); 

    } 
</script> 
</head> 
<body> 
    <input Type="text" name="FirstName" id="fn"> 
    <input Type="text" name="LastName" id="ln"> 
    <input Type="email" name="Email" id="em"> 
    <button onClick="addData(fn.value,ln.value,em.value)">click</button> 
</body> 
</html> 
+2

あなたの答えに説明を加えてください。 –

+0

javascriptコードは修正されましたが、htmlフィールドIDが変更された場合、このコードを使用することができます。 –

+0

私はそれを試してみることができますが、彼らは経験がほとんどないとOPができないのではないかと疑います。 – rrd

関連する問題