1

我希望用来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 脚本

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

diswasherWithProgrammingSkill的建议有效,但未显示选择的多值。

无论如何要这样做?

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

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

谢谢

4

4 回答 4

1

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

让我知道你是怎么做的!

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

于 2013-08-13T17:05:19.493 回答
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]);
}
于 2013-08-13T17:58:01.797 回答
1

最好将您的 javascript 与您的表单分开,并添加一个事件侦听器。但是,如果您仍然想使用,您可以在每个表单元素中onclick添加一个,并使用-idgetElementById()

<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/

于 2013-08-13T17:17:01.420 回答
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 不会阻止表单提交。

于 2013-08-13T17:03:30.080 回答