在提交之前显示所选的表单值?

时间:2013-08-13 16:59:50

标签: javascript forms submit

我希望使用onClick="return confirm('are you sure ?')"让用户确认他们提交的内容。

基本形式是:

<form>
<Select name='val[]' class='select'><option></option><option value='a'>a</option><option value='b'>b</option><option value='c'>c</option><option value='d'>d</option></select>
<Select name='opt'><option>AAA</option><option>BBB</option><option>CCC</option></select>
<input type='submit' name='submit' value='submit' onClick="return confirm('are you sure ?')">
</form>

当他们点击提交时,如何更新退货确认以显示他们从下拉列表中选择的值?

修改

我应该提到这个页面正在使用http://harvesthq.github.io/chosen/

中的Jquery Chosen脚本

第一个选项是多选,并使用选择使其看起来更好。

来自 dishwasherWithProgrammingSkill 的建议有效,但未显示所选的多值。

无论如何要做到这一点?

更新 使用:var opt3=$('#opt1').val();

返回一个以逗号分隔的列表。如何删除逗号?

由于

4 个答案:

答案 0 :(得分:1)

最好将您的javascript与表单分开,然后添加一个事件监听器。但是,如果您仍想使用onclick,则可以为每个表单元素添加id,并使用getElementById()获取值 -

<form>
    <select name='val[]' id='val' class='select'><option></option><option value='a'>a</option><option value='b'>b</option><option value='c'>c</option><option value='d'>d</option></select>
    <select name='opt' id='opt'><option>AAA</option><option>BBB</option><option>CCC</option></select>
    <input type='submit' name='submit' value='submit' onClick="return confirm('are you sure? val='+getElementById('val').value +' opt='+getElementById('opt').value)" />
</form>

请参阅此jsFiddle示例 - http://jsfiddle.net/rpcBS/

答案 1 :(得分:1)

我认为这就是你要找的东西。

<form>
    <select name='val' class='select' id='opt1'>
        <option></option>
        <option value='a'>a</option>
        <option value='b'>b</option>
    </select>
    <select name='opt' id='opt2'>
        <option value='AAA'>AAA</option>
        <option value='BBB'>BBB</option>
    </select>
    <input type='submit' name='submit' value='submit' onClick="return function1();">
</form>

<script type='text/javascript'>
    function function1(){
        var opt1=document.getElementById("opt1").value;
        var opt2=document.getElementById("opt2").value;
        var response=confirm("Are you sure? option1="+opt1+" option2="+opt2);
        return response;
     }
</script>

<强>更新

由于您已经使用var opt3=$('#opt1').val();获得了值,其余的很容易,请在javascript中使用split()函数。它类似于php中的explode()函数。 这是样本。

var opt3=$('#opt1').val();
var valArray=opt3.split(",");  //The parameter determines where you want to split.
for (var i = 0; i < valArray.length; i++) {
    alert(valArray[i]);
}

答案 2 :(得分:0)

您需要侦听onSubmit()而不是onClick()

<form onSubmit="return confirm('are you sure?);">
    <Select name='val[]' class='select'><option></option><option value='a'>a</option><option value='b'>b</option><option value='c'>c</option><option value='d'>d</option></select>
    <Select name='opt'><option>AAA</option><option>BBB</option><option>CCC</option></select>
    <input type='submit' name='submit' value='submit'>
</form>

onClick不会阻止表单提交。

答案 3 :(得分:0)

你必须为它编写一个函数。使用jquery,你可以使用$(form).submit(function(){});要在提交时提取您的值,请显示确认对话框并设置内容。

让我知道你是怎么做的!

http://api.jquery.com/submit/