如何链接html表单和锚标记

时间:2014-03-27 05:43:14

标签: javascript html forms perl cgi

我是HTML新手。我想在html中完成以下操作。

if(link is clicked) {
    process one form tag
}
else {
    some other form tag
}

       this is my form tag . 
        <form name="input" action="abc.pl" method="get" id="sel">
        <input type="checkbox" name="vehicle" value="Bike">I have a bike<br>
         <input type="checkbox" name="vehicle" value="Car">I have a car 
        </form>

我想要一个链接,如果我点击链接上面的表格输入(我的意思是复选框值)应该被采取,链接应该处理另一个.pl文件...

2 个答案:

答案 0 :(得分:0)

我认为您可以尝试在用户使用jQuery单击链接时动态更改表单操作。这是一个简单的例子:

HTML

<form id="form1" action="http://jimmy.right-pet.cc/test.php" method="post">
  <legend>Test</legend>
  <fieldset>
    <label for="name">Name</label>
    <input type="text" name="name" id="name"/>
    <input id="submit-btn" type="submit" value="submit"/>
  </fieldset>
</form>
<a id="link" href="#">change form action link</a>

JS

<script>
  $(function(){
    $("#link").click(function(){
      $("#form1").attr("action","http://jimmy.right-pet.cc/test2.php");
    });
  });
</script>

尝试使用浏览器开发工具检查单击链接后是否更改了表单操作。

这是jsFiddle demo

希望它有所帮助。

答案 1 :(得分:0)

不是问题的答案,但仍然是解决问题的方法。

来自评论:

  
    不要这样做。提交到一个服务器端URI。使用提交按钮执行此操作。查看表单数据中的提交按钮的值,以确定在服务器上运行的代码分支。 - Quentin 1小时前

  
     

@Quentin请举个例子。我是HTML的新手

在HTML中。

<form name="input" action="abc.pl" method="get" id="sel">
    <label>
        <input type="checkbox" name="vehicle" value="Bike">
        I have a bike
    </label>

    <label>
        <input type="checkbox" name="vehicle" value="Car">
        I have a car 
    </label>

    <input type="submit" name="sub" value="Some Action">
    <input type="submit" name="sub" value="Some Other Action">
</form>

然后在abc.pl

use strict;
use warnings;
use CGI;

my $c = CGI->new;
my $sub = $c->param('sub');

unless ($c) {
    # No submit value was detected so either perform a default
    # action or return an error
    exit;
}

if ($c eq "Some Action") {
    # Do one thing
} elseif  ($c eq "Some Other Action") {
    # Do another thing
}