Javascript 使用2个按钮将1个输入字段值输入到2个不同的控制器

Javascript 使用2个按钮将1个输入字段值输入到2个不同的控制器,javascript,forms,codeigniter,model-view-controller,controller,Javascript,Forms,Codeigniter,Model View Controller,Controller,我有一个,它当前将输入字段数据发送到控制器中的1个函数。看起来像这样 <?php echo form_open('moneyexchange/invest_first_page'); ?> <input type="text" placeholder="Amount in &euro;" name="writtenamount"/> <button class="btn btn-lg" type="submit" >Invest<

我有一个
,它当前将输入字段数据发送到控制器中的1个函数。看起来像这样

<?php echo form_open('moneyexchange/invest_first_page');  ?>
  <input  type="text" placeholder="Amount in &euro;"  name="writtenamount"/>
    <button class="btn btn-lg" type="submit" >Invest</button> 
    <button class="btn btn-lg" type="submit" >Borrow</button>
<?php echo form_close();?> 

我可以使用JavaScript来做这件事吗?

您可以使用表单的OnSubmit事件来做这件事。()
您只需捕获事件并路由到所需的控制器。

您可以做几件事

1)为按钮指定名称属性

您的意思是您仅限于一个输入字段,但您忘记了您单击的按钮也可以用于传递数据。然后在php脚本中,您将检查单击了哪个按钮,然后根据该按钮执行所需的任何功能

2)使用Ajax发送postdata

您可以使用javascript(或者最好是jQuery)为您处理post请求。您为两个按钮提供了不同的id标记,因此
。有了这些信息,您可以使用javascript查找单击的按钮,并向正确的php函数发出ajax请求。

下面的示例

    <html>
<head>
    <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script>
        $( document ).ready(function() {
            $('#yourbuttonid').click(function() { 
                $.ajax({
                     url: 'moneyexchange/invest_first_page',
                     type: 'POST',
                     data: { writtenamount: $("#amount").val()},
                     success: function (result) {
                       // do stuff
                     }
                });
            });
        });
    </script>
</head>
<body>
    <?php echo form_open('moneyexchange/invest_first_page');  ?>
        <input  type="text" placeholder="Amount in &euro;"  name="writtenamount"/>
        <button id="yourbuttonid" class="btn btn-lg" type="submit" >Invest</button> 
        <button class="btn btn-lg" type="submit" >Borrow</button>
    <?php echo form_close();?>
</body>
</html>

$(文档).ready(函数(){
$('#yourbutonid')。单击(函数(){
$.ajax({
url:“moneyexchange/Investment\u首页”,
键入:“POST”,
数据:{writenAmount:$(“#amount”).val()},
成功:功能(结果){
//做事
}
});
});
});
投资
借

< Paul Rolas >代码是完美的,但是有2件事你需要考虑,因为你在你的位置持有者中没有使用价值,所以你的数据应该是这样的

data: { writtenamount: $("#amount").data('value')},
而且很可能使用方法而不是类型更好

method: 'POST',

希望这有帮助。

您能告诉我如何编写代码,让我知道如何编写,谢谢!为了将它发送给那些控制器,我尝试了你的代码,但没有成功,我甚至像这样添加了按钮id。我如何修复表单,我是否保持表单_在那里打开?由于它重定向到控制器中的一个特定控制器,您是否看到设置的writtenamount值?调试时它是否可见?我将我的控制器功能放在以防万一,以便您看到它,而调试时它甚至没有到达单击功能的控制器端写入警报(“单击”);屏幕上应该会出现一个消息框,这样行吗?
method: 'POST',