1

我有一个奇怪的问题!我的提交按钮不响应操作!!!

我有这个代码:

<script type="text/javascript">
    function save_contact_information() {

        document.getElementById('User_Finder').action = "Controler/controller_page.php?button=save_contact_information";

    }
</script>
<form id="User_Finder" action="User_Finder.php?ID_CV_User=<?php print $ID_CV_User ?>&&change_profile=ok"
method="post" enctype="multipart/form-data">

    <input type="submit" id="CI_BT_Save" onclick="save_contact_information()"
    name="BT_PI_Save" value="Save" style="position:absolute;left:12px;top:333px;width:96px;height:25px;z-index:342;">

</form>

如果我点击按钮保存,什么都不会改变!!!我将函数“save_contact_information()”的代码更改如下:

function save_contact_information() {
    alert("ok1");
    document.getElementById('User_Finder').action = "Controler/controller_page.php?button=save_contact_information";
    alert("ok2");
}

现在,如果我单击按钮保存,将显示 2 个警报:ok1 + ok2 但这一行: document.getElementById('User_Finder').action ="Controler/controller_page.php?button=save_contact_information";没有给出任何反应!

有没有人知道这个奇怪的问题!

4

5 回答 5

0

它是一个表格,所以你必须添加event.preventDefault()

编辑: 这样做

function save_contact_information() {
    alert("ok1");
event.preventDefault();
    document.getElementById('User_Finder').action = "Controler/controller_page.php?button=save_contact_information";
    alert("ok2");
document.getElementById('User_Finder').submit();
}
于 2013-08-28T06:00:19.550 回答
0
function save_contact_information() {
alert("ok1");
                document.getElementById('User_Finder').action ="Controler/controller_page.php?button=save_contact_information";
alert("ok2");
  document.getElementById('User_Finder').submit(); //here form submit with your action


            }
于 2013-08-28T06:01:29.950 回答
0

document.getElementById("User_Finder").submit();

于 2013-08-28T06:01:32.873 回答
0

将您的功能更改为:

function save_contact_information() {
var myForm = document.getElementById('User_Finder');
myForm.action ="Controler/controller_page.php?button=save_contact_information";
myForm.submit();
}

细节:

由于您的按钮正在调用另一个函数,因此对新操作的调用只会在下次单击时发生。您也可以通过手动调用提交函数再次触发表单的提交。

您可能还希望在每次尝试搜索表单时都声明myForm变量 one off 以避免繁重的 DOM 操作。

于 2013-08-28T06:04:53.253 回答
0

而不是点击提交按钮在表单标签中提交并返回。那是更好的方法。它会起作用的。

<form id="User_Finder" action="User_Finder.php?ID_CV_User=<?php print $ID_CV_User ?>&&change_profile=ok" method="post" onsubmit="return save_contact_information()" enctype="multipart/form-data">

   <input type="submit" id="CI_BT_Save" name="BT_PI_Save" value="Save" style="position:absolute;left:12px;top:333px;width:96px;height:25px;z-index:342;">

</form>


<script type="text/javascript">
function save_contact_information() {

    document.getElementById('User_Finder').action = "Controler/controller_page.php?button=save_contact_information";
    return true;

}
</script>

尽量避免提交按钮的 onclick 事件

于 2013-08-28T06:08:17.790 回答