0

这是我当前的代码:

$(document).ready(function(){
    $("input#url").bind("textchange",showPage);
    $("input#url").focus();


    $("form#surlform").submit(function(){
        var url = $("input#url").val(); 
        $.get("api/create.php?url=" + url, function(data) {
                $("input#url").val(data);
                $("input#url").select();
            });

        return false;
    });
    });

$(document).click(function(){
    showPage();
});
$(document).mousemove(function(){
    showPage();
});

目前,当表单被提交时,jQuery 会阻止它重新加载页面,而只是从 API 中提取所需的输出。如果可能的话,我想让它也改变按钮,这样按钮文本是不同的,它链接到一个页面而不是用 jQuery 提交表单。(如果有帮助,它更改为的按钮可以是 div - 只有原始按钮需要是表单按钮)。

这还不是全部......然后,当文本字段中的文本发生更改时,我希望将其更改为通过 jQuery 提交表单的按钮以及原始文本。

这是一个很大的问题,但如果有人有办法解决这个问题,我将非常感激。

4

1 回答 1

1

这样的东西?:

HTML:

<form id="someForm">
    <input id="someInput" type="text" />
    <input id="submitButton" type="submit" />
    <input id="linkButton" type="button" value="Submit" />
</form>​

CSS:

#linkButton { display: none; }​

JavaScript:

$('#someForm').submit(function () {
    $('#submitButton').hide();
    $('#linkButton').show();
    return false;
});

$('#linkButton').click(function () {
    alert('use something like window.location here to act like a link');
});

$('#someInput').change(function () {
    $('#linkButton').hide();
    $('#submitButton').show();
});

目前它过于简单,可能需要一些改进,但这个想法很简单......

  1. 当页面最初加载时,“链接”按钮是隐藏的。
  2. 任何时候单击“提交”按钮,“提交”按钮都会隐藏,而“链接”按钮会显示出来。(当然,在你正在做的任何 AJAX之后,为简洁起见,这里不包括在内。)
  3. 任何时候点击“链接”按钮,做一些事情。在你的情况下,它是作为一个链接,对吧? window.location = 'some new location';本质上。
  4. 每当文本更改时,“链接”按钮会被隐藏,而“提交”按钮会显示出来。如果它们已经被隐藏并显示出来,则不会造成任何伤害。(可能有一种更优雅且每次都显示和隐藏的方式更少,但它可以完成工作。)
于 2012-05-30T01:18:21.457 回答