这是我的代码。 Onclick
提交,如果答案正确,该值将保存在数据库中。我在这里想要的是,当我单击提交按钮时,表单中的所有其他提交按钮都必须被禁用。我可以这样做吗?请帮助我。
<textarea name="questn" id="questn" readonly="readonly" cols="45" rows="5"><?php echo $quest['questnId']; ?>. <?php echo $quest['question'];?></textarea>
<input type="submit" class="myButton" name="option" value="<?php echo $quest['optiona'];?>"/>
<input type="submit" class="myButton" name="option" value="<?php echo $quest['optionb'];?>" />
<input type="submit" class="myButton" name="option" value="<?php echo $quest['optionc'];?>" />
<input type="submit" class="myButton" name="option" value="<?php echo $quest['optiond'];?>" />
我使用提交而不是单选的原因是我希望按钮上的值动态显示在按钮上。
最佳答案
您可以在表单上编写 onsubmit
事件来禁用所有按钮。
<form action="xyz.html" onsubmit="handleSubmit()">
<input type="submit" name="option" value="b1"/>
<input type="submit" name="option" value="b2"/>
<input type="submit" name="option" value="b3"/>
<input type="submit" name="option" value="b4"/>
</form>
function handleSubmit(){
var list = document.getElementsByName('option');
for(var i=0;i<list.length;i++){
list[i].disabled=true;
}
alert('all disabled');
}
<小时/>
2) 如果您不想禁用单击的按钮,我建议在按钮上使用 onclick
来调用 handleSubmit
。代码将如下所示。
<input type="submit" name="option" onclick="handleSubmit(this)" value="b1"/>
<input type="submit" name="option" onclick="handleSubmit(this)" value="b2"/>
<input type="submit" name="option" onclick="handleSubmit(this)" value="b3"/>
<input type="submit" name="option" onclick="handleSubmit(this)" value="b4"/>
你的处理函数现在将接受this
,它将被排除在循环中。
function handleSubmit(current){
var list = document.getElementsByName('option');
for(var i=0;i<list.length;i++){
if(list[i]!=current) // new condition added
list[i].disabled=true;
}
alert('all disabled');
}
另请注意,在这种情况下,您不需要在 form
中添加 onsubmit
关于php - 多次提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11389432/