2013-04-27 51 views
0

我有一个按钮的Javascript:模态形式

<button class="modalInput" rel="#prompt" onClick="params(1,2,'test','test2');">User input</button> 

的JavaScript调用:

<script> 
    function params(a,b,c,d) { 
    var catid = a; 
    var id = b; 
    var text1 = c; 
    var text2 = d; 
} 

模式窗口:

$(document).ready(function() { 
var triggers = $(".modalInput").overlay({ 


<div class="modal" id="prompt"> 
<form> 
<div> 
<table> 
<tr> 
<td>Question:</td><td><input value=text1 name="question" maxlength="80" size="40"/></td> 
</tr> 
<tr> 
<td>Answer:</td><td><input value=text2 name="answer" maxlength="40" size="40"/></td> 
</tr> 
</table> 
<input type="hidden" name="catid" value=catid /> 
<input type="hidden" name="id" value=id /> 
<script> 
alert (text1); 
document.getElementByName('question').value = text1; 
</script> 

我想我可能只是做在脚本部分最后,但那不工作...所以,我做错了什么?最后一个脚本部分根本不执行...

回答

0

请注意,声明一个带有“var”的变量使其成为本地。这两行代码没有多大意义:

<input type="hidden" name="catid" value=catid /> 
<input type="hidden" name="id" value=id /> 

由于它是纯HTML。你应该用javascript来设置它们的值。

编辑:所以从我的理解,你希望params()函数来设置表单值。你可以做这样的(纯JS,与jQuery这是更简单):

function params(a,b,c,d) { 
    var catid = getElementsByName("catid")[0]; 
    catid.value = a; 
    //same for the other 3 
} 
+0

好 - 这两个字段应在形式使用,我要寄整个形式,隐藏字段对自己在提交.. 但是,如果“var”是语言环境,我该如何将它们声明为全局的,以便我可以使用它们? – 2013-04-27 11:36:27

+0

我编辑了答案,看看你是否需要:)也请注意,如果你将隐藏的输入设置为id属性,getElementById()会更清晰一些 – 2013-04-27 11:45:04