两个按钮提交表单问题

时间:2017-11-23 11:40:15

标签: javascript php jquery html forms

您好成功制作了一个有两个提交按钮的表单。

我需要两个按钮,因为我需要每个按钮将表单带到不同的地方,同时以第一种形式获取/发布信息。

我就这样做了

使用Javascript:



 function submitForm(action) {
    var form = document.getElementById('form1');
    form.action = action;
    form.submit();
}

<form id="form1" method="post" >
    <div class="f-row">
	 <label for="pick">Pick-Up Address</label>
	 <input type="text" input name="pick" required value="<?php echo isset($_POST['pick']) ? $_POST['pick'] : ''; ?>"/>
   </div> 
  <input type="button" onclick="submitForm('page2.php')" class="btn small color left" value="ADD ANOTHER STOP" />
  <input type="button" onclick="submitForm('page3.php')" class="btn medium color right" value="Continue" />
</form>
&#13;
&#13;
&#13;

它有效,两个按钮都提交到相关页面。

但现在有一个我似乎无法解决的问题,以前如果表单没有填写,我点击提交,它会要求我填写必填字段,现在它已经不存在了。

如果未填写必填字段,则仍会提交表单。

我需要按钮1不要求填写必填字段,按钮2要求按钮2提交表单,而按钮1将其带到新表单以填写其他详细信息,然后再从那里提交。

任何人都知道我可以对此进行排序吗?

5 个答案:

答案 0 :(得分:2)

您可以尝试:<input type="text" name="pick" id="pick" required/>和javascript

function submitForm(action) {
            var form = document.getElementById('form1');
            form.action = action;
            if (document.getElementById('pick').value) {
               form.submit();
            }}
            else{
            alert('Please fill the required field!');}

答案 1 :(得分:0)

您可以使用jQuery

if ($('#something').length)

这将检查是否存在标识为'something'的元素,但如果它是空的或者它具有哪个值则不会。

要检查这一点,您可以使用:

if($('#something').val().length>0)

if($('#something').val() != "")

随时随地使用它。

您甚至可以在当前代码正上方的submitForm函数中添加此项检查。

答案 2 :(得分:0)

试试这个:

<script>
    function submitForm(action) {
        var a = $("input[name=pick]").val();
        if(a) {
            var form = document.getElementById('form1');
            form.action = action;
            form.submit();
        } else {
            alert('please fill the required field');
            return false;
        }
    }
</script>

答案 3 :(得分:0)

单击第一个按钮时,您只需使用jquery验证表单,并且可以使用按钮上的formaction属性指定按钮在单击时的位置。

&#13;
&#13;
$('document').ready(function(){

		$('#btn1').on('click',function(){

			var pick = $('input[type="text"][name="pick"]').val();

			if(pick == ""){
				alert("enter pick");
				return false;

			}else{

				$(this).submit();
			}
		});

	});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<form id="form1" method="post" >
    <div class="f-row">
	 <label for="pick">Pick-Up Address</label>
	 <input type="text"  name="pick" value="your value">
   </div> 
  <button type="submit" formaction="page2.php" class="btn small color left" id="btn1">ADD ANOTHER STOP</button>
  <button type="submit" formaction="page3.php" class="btn medium color right">Continue</button>
</form>
&#13;
&#13;
&#13;

答案 4 :(得分:0)

使用这种方式(简单方法): -

<form id="myForm" name="myForm" onSubmit="encriptar_rc4();return false;">
<input type="submit" name="submitOne" value="submitOne" class="submitButton" />
<input type="submit" name="submitTwo" value="submitTwo" class="submitButton" />
</form>

<script>

$(function(){
  $(".submitButton").click(function(e){
    alert($(this).attr("name"));

  });

  encriptar_rc4();{
  alert('hola');
}

});

</script>