-1

我试图根据两个 ahref 标签更改表单操作,一个是按钮,另一个是文本。当它点击按钮时,表单的动作应该是/profile.php?id=,如果点击了文本,动作应该是/profile.php?uid= 我卡在这个问题上。这是我在 html 中的代码:

 <a href = "profile.php?/edit/employment-information/" id="edit"><input type="button" name="editemp" id="edit" value="Edit">
 <a href="profile.php?/add/employment-information/" id="add">Add Information</a>
 <form name="empform" method="post" action="profile.php" autofocus id="form">
<input name="employ" type="text" id="employ" pattern="[A-Za-z ]{3,20}" placeholder="Who is your employer?">
<input name="position" type="text" id="position" pattern="[A-Za-z ]{3,20}" placeholder="What is your job description?">
<input name="empadd" type="text" id="empadd" pattern="[A-Za-z0-9@#$% ,]{5,30}" placeholder="Where is your work address?">
<input name="empcont" type="text" id="empcont" pattern="[0-9]{11}" title="11-digit number" placeholder="Contact number">
4

2 回答 2

2

您可以使用更改表单操作

$("#form").attr("action", "your new action here");

您所做的就是将其粘贴在click处理程序中:

$("#elementID").click(function() {
    //change form here
});

不太确定您的代码上的哪些按钮应该更改此设置,因此我将其设置为非常通用的供您修改。

于 2013-08-28T15:04:05.567 回答
0

简单地向两个锚点添加一个事件列表器,每个锚点都有自己的代码来改变形式

$(document).ready(function(){
    $('#edit').on('click', function(e){
        e.preventDefault(); // Dont actually go to the location of the anchor
         $('#form').attr('action', 'URL_IF_EDIT_IS_CLICKED'); // change it to this url
    });

    $('#add').on('click', function(e){
        e.preventDefault(); // Dont actually go to the location of the anchor
        $('#form').attr('action', 'URL_IF_ADD_IS_CLICKED'); // change it to this url
    });
});

如果你有更多的锚点,下面的方法可能更简单:首先给锚点添加一个类(比如说'formActionChanger'),然后:

$(document).ready(function(){
    // eventlistener on the anchors:
    $('.formActionChanger').on('click', function(e){
        e.preventDefault(); // Dont actually go to the location of the anchor
        var newAction;
        // start a switch to decide which new action is going to be used
        switch(this.id){
            case 'edit': newAction = 'URL_IF_EDIT_IS_CLICKED'; break;
            case 'add':  newAction = 'URL_IF_ADD_IS_CLICKED';  break;
            default:     newAction = 'DEFAULT_URL';            break;
        }
        $('#form').attr('action', newAction); // change it to this url
    });
});
于 2013-08-28T15:06:40.720 回答