提交时-页面刷新回到网页上的特定位置?

时间:2018-07-10 11:36:04

标签: javascript php jquery html5

我有一个联系表,它是主页的一部分,当用户单击“联系我们”时,该联系表会弹出。我想要实现的是,当用户单击联系表单上的“提交”按钮时,页面将刷新,然后将用户直接带回到联系表单。

有没有一种方法可以使用javascript / jquery / php或使用ID作为锚点?

我在网上查看是否有任何直接的答案,但是不幸的是我没有任何运气,因此您能提供的任何帮助都将是很大的。另外,一些示例代码也很棒:)

1 个答案:

答案 0 :(得分:1)

它可以使用这样的代码:

$("#submit_form_button").click( function() {
    // we wait 1 second, so that the form has been submitted in ajax...
    setTimeout(function(){ location = window.location.href + "?action=display_form" }, 1000);

  // put "?action=display_form" or "&action=display_form" according the fact the page has already or not a ?xxx=yyy parameter
});

并用提交按钮的ID替换submit_form_button

因此,提交表单后,页面将使用新参数action=display_form刷新,然后在页面中可以添加以下代码:

var getUrlParameter = function getUrlParameter(sParam) {
    var sPageURL = decodeURIComponent(window.location.search.substring(1)),
        sURLVariables = sPageURL.split('&'),
        sParameterName,
        i;

    for (i = 0; i < sURLVariables.length; i++) {
        sParameterName = sURLVariables[i].split('=');

        if (sParameterName[0] === sParam) {
            return sParameterName[1] === undefined ? true : sParameterName[1];
        }
    }
};


$( document ).ready(function() {
    if (getUrlParameter('action') =="display_form") {
         // i launch the JS code for redisplay me form here 
         // (using jquery to set the contact form CSS property to 'display: block;')
    }
});