Javascript 在Codeigniter中单击表单提交

Javascript 在Codeigniter中单击表单提交,javascript,php,codeigniter,Javascript,Php,Codeigniter,我想做一些类似的事情,当我点击提交按钮时,表单应该被提交,即使有几个字段是空的,但消息应该打印在页面顶部,“这些字段正在等待保存”,但我想在没有验证的情况下将其删除,所以我做了类似的事情 echo form_submit('tax', 'Save & Continue',"class='btn-lg-blk btn-orange'",'onclick="return DisplayMessages();" '); 在此代码中,表单可以提交,但onclick不起作用 有什么建议可以让我开

我想做一些类似的事情,当我点击提交按钮时,表单应该被提交,即使有几个字段是空的,但消息应该打印在页面顶部,“这些字段正在等待保存”,但我想在没有验证的情况下将其删除,所以我做了类似的事情

echo form_submit('tax', 'Save & Continue',"class='btn-lg-blk btn-orange'",'onclick="return DisplayMessages();" ');
在此代码中,表单可以提交,但onclick不起作用
有什么建议可以让我开发这个吗?

应该是这样的:

<?php
$form_attr  =
array(
  'name'    =>  'formname',
  "id"    =>  "formid",
  'method'  =>  'post',
  'onsubmit' => 'return DisplayMessages()',
  'class'     =>  "form-horizontal",
  'role'  =>'form'
  );

echo form_open("controller/method",$form_attr);

?>

使用表单按钮,而不是
表单提交
如下所示:

<?php

    $data = array(
    'name' => 'tax',
    'id' => 'button',
    'type' => 'button',
    'content' => 'Save & Continue',
    'class'=>'btn-lg-blk btn-orange',
    'onclick'=>'return DisplayMessages(this);'    
);

echo form_button($data);

    ?>

您可以使用ajax提交表单。你的功能应该是这样的-

function DisplayMessages(){
   if(field1=="" || field2==""){
     //print your message here
     $("#element_id").text('These Fields are pending to save');
  }
  //post your form using ajax
  $.post( "http://yourdomain.com/controller/function", $("#form_id").serialize())
   .done(function( data ) {
    alert( "Data Loaded: " + data );
  });
  return false;
}

通过这种方式,您的信息将显示在您想要的任何地方,并且您的表单将被提交。

@RKinfotech然后发生了什么?许多thnx用于解决方案。现在onclick可以工作,但我想同时做这两件事。例如表单应该在数据库中提交,并且消息应该打印在同一页的顶部。使用按钮,我可以打印消息,但我不需要我可以在DB?@RKinfotech中提交数据。您需要在此行$(“#element_id”)中将#element_id替换为您自己的html元素id(显示消息的位置)。text('这些字段待保存')
   function DisplayMessages(element)
    {
      $(element).closest("form").submit();
    }
function DisplayMessages(){
   if(field1=="" || field2==""){
     //print your message here
     $("#element_id").text('These Fields are pending to save');
  }
  //post your form using ajax
  $.post( "http://yourdomain.com/controller/function", $("#form_id").serialize())
   .done(function( data ) {
    alert( "Data Loaded: " + data );
  });
  return false;
}