javascript更改隐藏值,然后提交表单
(我搜索过类似的内容,但没有找到任何匹配和/或有效的内容) 我有一个进度审查表,用户可以在其中审查前面步骤中的设置。以下是我现在的表格:javascript更改隐藏值,然后提交表单,javascript,html,forms,Javascript,Html,Forms,(我搜索过类似的内容,但没有找到任何匹配和/或有效的内容) 我有一个进度审查表,用户可以在其中审查前面步骤中的设置。以下是我现在的表格: <form id='reviewForm' name='reviewForm' action='?action=ae&view=makeWorkFlow' method='post'> <table width='100%'> <tr> <th width='15
<form id='reviewForm' name='reviewForm' action='?action=ae&view=makeWorkFlow' method='post'>
<table width='100%'>
<tr>
<th width='150'>Workflow Name</th>
<td>" . $workflowName . "</td>
</tr>
<tr>
<th valign='top'>Tasks</th>
<td>
<table width='99%'>
<tr>
<td>
<select name='task_1'>
<option value='0'>Select a Task</option>
<ALL OTHER OPTIONS>
</select>
</td>
<td><input type='text' name='turnAround_1' value='#VALUE#' onkeyup="if (/[a-z\s,$]/ig.test(this.value)) this.value = this.value.replace(/[a-z\s,$]/ig,'')" placeholder='Turn Around Time (hours)' /> Hours</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan='2'>
<input type='hidden' id='step' name='step' value='4' />
<input type='submit' name='submit' value='Create Workflow' />
<input type='button' value='Update Changes' onclick='setStep();' />
<input type='button' value='Cancel' onclick='javascript:history.go(-3);' />
</td>
</tr>
</table>
</form>
工作流名称
“$workflowName。”
任务
选择一项任务
小时
因此,基本上,用户已经从下拉列表中选择了项目。我需要向他们显示一个“查看”页面,在该页面中,他们可以选择更改选择,然后单击“更新更改”按钮。单击该按钮时,“步骤”隐藏字段的值需要从4更改为3,然后通过“设置步骤”功能提交表单,如下所示:
<script language='JavaScript' type='text/javascript'>
function setStep()
{
document.forms["reviewForm"].step.value = 3;
var t = setTimeout("document.reviewForm.submit();", 0);
}
</script>
函数setStep()
{
document.forms[“reviewForm”]。step.value=3;
var t=setTimeout(“document.reviewForm.submit();”,0);
}
我意识到setTimeout并不是最好的方法,但这正是我现在想要解决的问题。我确信我缺少的一些小东西可以解决这个问题,但我已经做了一个多小时了,找不到它。尝试
document.getElementById('step')。value=3
而不是document.forms[“reviewForm”]。step.value=3
尝试document.getElementById('step')。value=3
而不是document.forms[“reviewForm”]。step.value=3代码>
更新
更新问题在于提交按钮的名称是submit
因此,在解析document.reviewForm.submit()时
它不允许,因为submit()是javascript中的函数。在您的代码中,submit也是表单中元素的名称(
)
将按钮名称更改为除submit
(例如:submit1
)以外的任何名称,它将成功工作
也不需要我们setTimeout
只需使用以下代码
function setStep()
{
document.forms["reviewForm"].step.value = 3;
document.reviewForm.submit();
}
问题是提交按钮的名称是submit
因此,在解析document.reviewForm.submit()时
它不允许,因为submit()是javascript中的函数。在您的代码中,submit也是表单中元素的名称(
)
将按钮名称更改为除submit
(例如:submit1
)以外的任何名称,它将成功工作
也不需要我们setTimeout
只需使用以下代码
function setStep()
{
document.forms["reviewForm"].step.value = 3;
document.reviewForm.submit();
}
看起来你的代码只能在IE中运行:-?在FF&IE中尝试-禁止进入。看起来你的代码只能在IE中运行:-?在FF&IE中尝试-禁止进入。