确认弹出后通过表单发布数据 - PHP

时间:2015-09-22 14:58:06

标签: javascript php

嗨所以我有一张表格..

 echo "<form onsubmit='return deleteRecord()' method='post'  action='delete.php'>";
        echo "<input type='hidden' name='hiddensimcode' value='$code'  >";
        echo "<input type='submit' id='deletesimbtn' value='Delete  Product'>";
        echo "</form>";

和javascript ...

     function deleteRecord() {
        if(confirm("Are you sure you want to delete this product?")){
            return true;
            }  else {
                return false;
                }   
    }

基本上它是一个删除记录的“删除”按钮,但弹出窗口似乎可以验证用户的操作。

我的问题是数据'$ code'没有发布到delete.php?

有人有想法吗?感谢

4 个答案:

答案 0 :(得分:1)

您应该将函数名称delete()更改为delete_product()。因为delete是JS中的预定义关键字。尝试使用其他名称。

答案 1 :(得分:0)

在js控制台中查看,您会看到:

 Uncaught SyntaxError: Unexpected token delete

这是因为它是一个保留的JS关键字,相应地更改了函数名称和对它的调用。

答案 2 :(得分:0)

正如其他人所说,“删除”函数名称与js引擎冲突 - 更改了js函数名称,如下所示,它可以正常工作。 (也稍微改进了功能)

echo "
<form onsubmit='return delete_product()' method='post'  action='target.php'>
    <input type='hidden' name='hidden' value='$code'  >
    <input type='submit' id='deletesimbtn' value='Delete  Product'>
</form>";



function delete_product() {
    return confirm( "Are you sure you want to delete this product?" ); 
}

答案 3 :(得分:0)

好的我必须说出来,因为其他人已经这样做了,这就是解决方案:

  

如其他人所述,更改&#34;删除&#34;功能名称。

一个小例子:

File Structure:
public_html
    |----- index.php
    |----- delete.php

示例index.php

<?php
$code = "dummyCodeXssF";

echo "<form onsubmit='return deleteRecord()' method='post'  action='delete.php'>";
echo "<input type='hidden' name='hiddensimcode' value='$code'  >";
echo "<input type='submit' id='deletesimbtn' value='Delete  Product'>";
echo "</form>";
?>
<script>

function deleteRecord() {
    if( confirm("Are you sure you want to delete this product?") ) {
        return true;
    } else {
        return false;
    }
}
</script>

示例delete.php

<?php
echo "<pre>";
var_export( $_POST );

输出:

array (
  'hiddensimcode' => 'dummyCodeXssF',
)