Jump to content

Jan

Caspio Evangelist
  • Posts

    635
  • Joined

  • Last visited

  • Days Won

    35

Posts posted by Jan

  1. Hello DataCobalt,

     

    As far as I know, multiselect element saves selected items that are separated by comma.

     

    This code only allow to fill the Listbox with saved values that are separated by comma, and if you change the code, it will display values that are separated by ";" but does not save records by this way.

     

    To save values that are separated by ";" you can follow the next steps:

    1) Make your current Listbox field Hidden;

    2) Add a Virtual field, make it Listbox and set settings as you need.

    3) Add a Header&Footer element, click the "Source' button and enter the following code to the Footer

    <SCRIPT LANGUAGE="JavaScript">   var fieldName = "cbParamVirtual1";
       var x=document.getElementsByName(fieldName);
       x[0].multiple=true;
    
      function fill_the_field()
        {
           var fieldName = "cbParamVirtual1";
           var secondFieldName="InsertRecordName";
    
           var myListBox = document.getElementsByName(fieldName)[0];
           var result = "";
           for (var i = 0; i < myListBox.options.length; i++)
           {
               if (myListBox.options[i].selected)
                  result = result + myListBox.options[i].value + ";";
            }
           result = result.slice(0,result.length-1); 
           document.getElementById(secondFieldName).value = result;
       }
    document.getElementById("caspioform").onsubmit=fill_the_field;
    </SCRIPT>

    Please insert the name of your field instead of "InsertRecordName" and the name of your virtual field instead of "cbParamVirtual1" in both cases, if the Virtual field is not Virtual1.

     

    I hope, it helps.

  2. Hello P_barton,

     

    As far as I know, you can use a JavaScript code (the code at the end of the post) to hide a column or another way:

     

    1) Add Header&Footer elemenet, on the Advacned tab, disable HTML Editor for both elements.

    2) Add the following code to the Header:

    <style>
    #target td:nth-of-type(3) {display: none;}
    #target th:nth-of-type(3) {display: none;}
    </style>
    <div id="target">

    "3" - is the number of the column that will be hidden.

     

    3) Add the following code to the Footer:

    </div>

    I hope, it helps.

  3. Hi ababcock,

     

    Do you want to add three records?

    You can copy the DataPage two times and to deploy three different DataPages that use the same DataSource. Does it work for you?

     

    If you want to add three passengers to the same record, you can edit your table and create three DataPages that use the same table or view, but work with different fields. There is the article how to create a multi-step form.

     

    I apologize, if I understand you wrongly.

  4. Hello Ashwini Tupe,

     

    If I understand correctly, you can find rules in the article

    • Weak: Less than 5 characters
    • Fair: At least 6 characters, including at least 1 number
    • Good: At least 8 characters, including at least 1 number and both lower and upper case letters
    • Strong: At least 12 characters, including at least 1 number, both lower and upper case letters, and at least one 1 special character (e.g. _, #, ?, !)

     

    I hope, it helps.

  5. Hi,

     

    Please make sure that all the following steps are done:

     
    a. Copy the code below and paste inside the <head> section of your web page:

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

    b. Download the JavaScript file from here and upload the file to your website hosting. Once uploaded, you’ll need to reference this file in the <head> section of your web page.

    Example:

    <script src="http://yoursite.com/yourfolder/jquery.signaturepad.min.js"></script>
    

    c. Edit the Details page of the DataPage and choose form element "hidden" for "Signature" field in the Configure Fields screen. Insert an HTML Block after the "Signature" field. Go to the Source of the HTML Block and insert the following code.

    <div class="sigPad signed"> <div class="sigWrapper">
    <canvas height="55" width="198" class="pad"></canvas></div>
    </div>
    <script>
    var sig = eval("[@field:Signature]".replace(/"/g, '"'));
    $(document).ready(function () {
    $('.sigPad').signaturePad({displayOnly:true}).regenerate(sig);
    });
    </script>

    d. Insert Header & Footer using the picker button at the lower right of the DataPage Elements. Disable HTML editor for both Header and Footer from the Advanced tab. Copy the code below and paste inside the HTML Header.

    <div id="cb_sign_wrapper">

    e. Copy the code below and paste inside the HTML Footer.

    </div>

    I hope, it helps.

  6. Hi Cameron,

     

    You can add an HTML Block, click the "Source" button and enter the following code (the code can be used as it is, if the Listbox is the first field on the Search page. You can find the instructions how to define the id of a field in the article):
    <script type="text/javascript">
    function selectAllOptions()
    {
    var ref = document.getElementById("Value1_1");
    for(i=0; i<ref.options.length; i++)
    ref.options[i].selected = true;
    }
    
    function DeselectAllOptions()
    {
    var ref = document.getElementById("Value1_1");
    for(i=0; i<ref.options.length; i++)
    ref.options[i].selected = false;
    }
    </script>
    
    <input type="button" value="Select All" onclick="selectAllOptions();" />
    <input type="button" value="Deselect All" onclick="DeselectAllOptions();" />
    
    I hope, it helps.
  7. Hello Chad,

     

    Do you select "No label" in the "Label position" dropdown for all fields?

    It seems, the "Top" position is selected for this two fields and text of the label is deleted.

     

    I am not sure of course. Could you please provide the URL instead of the screenshot?

  8. Hello ccarls3,

     

    I have written the following script. It does not disable the "Submit" button, but when a user clicks "Submit", the script checks, if any negative number is entered. If yes, the error message is displayed and the record is not added.

    <script language="JavaScript">
    function check_numbers()
    {
    var disabled = false;
    if (parseFloat(document.getElementById("InsertRecordfield1").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield2").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield3").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield4").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield5").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield6").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield7").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield8").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield9").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield10").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield11").value)<0) disabled = true;
    if (parseFloat(document.getElementById("InsertRecordfield12").value)<0) disabled = true;
    
    if (disabled)
    {
    alert("Negative values are not allowed");
    return false;
    }
    }
    document.getElementById("caspioform").onsubmit=check_numbers;
    </script>
  9. Hi tvjohansson,

     

    Welcome to Caspio Forum! :)

     

    As far as I know, Caspio uses the UTF-8 encoding. I am not sure that it is possible to select another collation.

    You can add one more field, replace Ã…ÄÖ with zzÃ…, zzÄ, zzÖ and sort by this field, if it works for you.

     

    You can also add your request to the ideabox, and then this feature can be added in next releases.

  10. Hi Marcel,

     

    If I understand correctly, a user opens a Single Update Form that uses the VIN table as a DataSource.

    When a user changes some field, the field "Status" is changed and the record gets timestamp.

    Now all records should be checked, and if LoadID of any record is the same, the field "Status" should be changed as well.

     

    I have an idea, if I understand your task.

    Please correct me, if anything is wrong.

  11. Hi ababcock,

     

    If I understand correctly, totalmin - is the difference in minutes.

     

    You can change the line with totalmin as follows:

    var totalmin= (parseFloat(mm/60)+ hh);

    Does it work for you?

  12. Hi rreynolds,

     

    As far as I know, the value of the file field cannot be changed for security reasons, so a file is renamed when it is stored in the DataBase. If I understand correctly, "rename if duplicate" should work as you want. It is surprise for me that file are lost. Are too many files are uploaded at the same moment?

     

    But... If I understand correctly, you want to have ability to add prefix or postfix to the filename, and possibility set a value of a field as the prefix/postfix. I like your idea! If you add it to the ideabox, I will vote!

  13. Hi senicholas,

     

    I have found the solution in the article. But the solution is rather big, so I have edited the code.

    Please disabled AJAX on your DataPage, then add Header&Footer element, select the "Footer" element, click the "Source" button and enter the following code:

    <SCRIPT LANGUAGE="JavaScript">
    /* tableNum is the number of the table to be formatted, the first table is 0. If several DataPages are deployed on the webpage, several tables are displayed*/
    var tableNum = 0;
    
    /* tableNum is the number of the column to be formatted, the first column is 0. */
    var columnNum = 0;
    
    /* variables for colors. You can find names for colors in the article http://www.w3schools.com/html/html_colornames.asp */
    var v_textColor = "red";
    var v_backgroundColor = "yellow";
    
    var tbl = document.getElementsByTagName('table')[tableNum];
    var rows = tbl.getElementsByTagName('tr');
    
    for (var row=1; row<rows.length;row++)
    {
    var cells = rows[row].getElementsByTagName('td');
    if (cells[columnNum].innerHTML > 7)
    {
    cells[columnNum].style.color = v_textColor;
    cells[columnNum].style.backgroundColor = v_backgroundColor;
    }
    }
    </SCRIPT>

    I hope, it helps.

×
×
  • Create New...