views:

20

answers:

1

I am using a CMS system, which has a template for generating forms, with predefined CSS.

The CSS file in use is here

The form I am using at the moment is:

<div class="bodyline">
    <?php $theform->startForm($pageTitle)?>

    <div id="rightSideDiv">
        <fieldset>
            <legend><label for="report">Report</label></legend>
            <p>
                <?php $theform->showField("towel")?>
            </p>
        </fieldset>
    </div>

    <div id="leftSideDiv">
        <fieldset>
            <legend><label for="name">Info</label></legend>

            <p class="big"><?php $theform->showField("firstname"); ?></p>
            <p class="big"><?php $theform->showField("lastname"); ?></p>
            <p class="big"><?php $theform->showField("country"); ?></p>
            <p class="big"><?php $theform->showField("passport"); ?></p>
            <p class="big"><?php $theform->showField("email"); ?></p>
            <p class="big"><?php $theform->showField("roomnumber"); ?></p>
            <p class="big"><?php $theform->showField("hostel"); ?></p>
            <p class="big"><?php $theform->showField("checkin"); ?></p>
            <p class="big"><?php $theform->showField("checkout"); ?></p>
            <p class="big"><?php $theform->showField("locker"); ?></p>
            <p class="big"><?php $theform->showField("towel"); ?></p>
            <p class="big"><?php $theform->showField("tabno"); ?></p>

        </fieldset>

    </div>

</div>

This should in theory show a box on the left, and a box on the right. Instead, rightSideDiv is either displayed above or below leftSideDiv, taking up the entire width of the form.

The resultant HTML is

<form action="/1/phpbms/modules/micro%20hospitality/guests_addedit.php?id=1" method="post" name="record" onsubmit="return validateForm(this);"><div id="dontSubmit"><input value=" " onclick="return false;" type="submit"></div>        <div id="topButtons"><div class="saveCancels"><input accesskey="s" title="Save (alt+s)" id="saveButton1" name="command" value="save" class="Buttons" type="submit"><input id="cancelButton1" name="command" value="cancel" class="Buttons" onclick="this.form.cancelclick.value=true;" accesskey="x" title="(access key+x)" type="submit"></div></div>
        <h1 id="h1Title"><span>Guests</span></h1>
    <div id="rightSideDiv">
        <fieldset>
            <legend><label for="report">Report</label></legend>
            <p>
                <input id="towel" name="towel" value="1" class="radiochecks" type="checkbox"> <label id="towelLabel" for="towel">Towel</label>          </p>

        </fieldset>
    </div>

    <div id="leftSideDiv">
        <fieldset>
            <legend><label for="name">Info</label></legend>

            <p class="big"><label for="firstname" class="important">First Name</label><br><input id="firstname" name="firstname" value="Jason" size="32" maxlength="64" class="important" type="text"></p>

        </fieldset>

    </div>

        </form>

Now, the included forms work fine, and I can´t figure out why.

The included form code for a page that works:

<div class="bodyline">
    <?php $theform->startForm($pageTitle)?>

    <div id="rightSideDiv">
        <fieldset>
            <legend><label for="importance">importance / privacy</label></legend>
            <p>
                <?php $theform->showField("importance")?>
                <?php $theform->showField("private")?>
            </p>
        </fieldset>
    </div>

    <div id="leftSideDiv">
        <fieldset>
            <legend><label for="content">memo</label></legend>
            <p id="timeStampP">
                <button id="timeStampButton" type="button" class="graphicButtons buttonTimeStamp" accesskey="t" title="Add time stamp to memo (Access Key - t)">time stamp</button>
            </p>
            <p>
                <textarea name="content" cols="45" rows="23" id="content"><?php echo htmlQuotes($therecord["content"])?></textarea>
                <input id = "username" type="hidden" value="<?php echo formatVariable(trim($_SESSION["userinfo"]["firstname"]." ".$_SESSION["userinfo"]["lastname"]))?>" />
            </p>
        </fieldset>
    </div>

</div>

and the resultant HTML

<form action="/1/phpbms/modules/base/notes_addedit1.php" method="post" name="record" onsubmit="return submitForm(this)" id="record"><div id="dontSubmit"><input value=" " onclick="return false;" type="submit"></div>        <div id="topButtons"><div class="saveCancels"><input accesskey="s" title="Save (alt+s)" id="saveButton1" name="command" value="save" class="Buttons" type="submit"><input id="cancelButton1" name="command" value="cancel" class="Buttons" onclick="this.form.cancelclick.value=true;" accesskey="x" title="(access key+x)" type="submit"></div></div>
        <h1 id="h1Title"><span>Note/Task/Event</span></h1>

    <div id="rightSideDiv">
        <fieldset>
            <legend><label for="importance">importance / privacy</label></legend>
            <p>
                <select name="importance" id="importance"> <option value="3">Highest</option>

<option value="2">High</option>
<option value="1">Medium</option>
<option value="0" selected="selected">Normal</option>
<option value="-1">Low</option>
<option value="-2">Lowest</option>
</select>
                        <input id="private" name="private" value="1" class="radiochecks" checked="checked" type="checkbox"> <label id="privateLabel" for="private">private</label>          </p>
        </fieldset>

    </div>

    <div id="leftSideDiv">
        <fieldset>
            <legend><label for="content">memo</label></legend>
            <p id="timeStampP">
                <button id="timeStampButton" type="button" class="graphicButtons buttonTimeStamp" accesskey="t" title="Add time stamp to memo (Access Key - t)">time stamp</button>
            </p>

            <p>
                <textarea name="content" cols="45" rows="23" id="content"></textarea>
                <input id="username" value="Administrator" type="hidden">
            </p>
        </fieldset>
    </div>

        </form>

Is there any reason for the behavior I described?

A: 

leftSideDiv has no float. Either redefine it in the css or set it as an inline-style:

float:left

http://phpbms.org/browser/trunk/phpbms/common/stylesheet/mozilla/pages/base/notes.css#L26

It will also need a width attached to it, depending on how wide your containers are. This might help:

http://www.smashingmagazine.com/2007/05/01/css-float-theory-things-you-should-know/

Ashley
Why then does one page work fine despite leftSideDiv having no float, and the other page does not?If they are equal in that regard, would the cause not be something else?
Jacob
Do you have a version online so we can look?
Ashley
Hi Ashley, I can´t provide that without giving a username and password unfortunately. I could give it to you privately via your website if you would be willing?
Jacob
sure, send it to hello at needathinkle dot com
Ashley