Форма PHP не отображается с помощью jQuery Mobile - PullRequest
1 голос
/ 05 февраля 2012

Часть моей формы PHP не отображается с помощью jQuery Mobile. Форма кажется обрезанной после <input name="F_Payment_Preference" type="hidden" id="F_Payment_Preference" value="check"> и затем перезапускается после </form>. Моя форма работает и отображается правильно без jQuery Mobile. Я не показываю заголовок страницы (это в отдельном файле), но я не думаю, что это необходимо.

«>
<form action="<? echo $_SERVER["PHP_SELF"] ?>" method="post" name="form1" id="form1" onsubmit="return CheckData();">
 <h1><? echo PERSONAL_INFORMATION
 ?></h1><?
if ($show_sponsor == 1) {
    Get_Sponsor_Cookie('name');
}
?>
<div>
    *<? echo REQUIRED_FIELDS
    ?>
</div>
<div>
    <label for="F_First_Name"><? echo  FIRST_NAME
        ?>*</label>
    <input name="F_First_Name" type="text" value="<? echo $F_First_Name ?>" maxlength="50">
    <div id="divfname" style="display:none;">
        <? echo JV_ENTER_FIRST_NAME
        ?>
    </div>
</div>
<div>
<label for="F_Last_Name"><? echo LAST_NAME ?>*</label>
<input name="F_Last_Name" type="text" value="<? echo $F_Last_Name ?>" maxlength="50">
</div>
<div id="divlname" style="display:none">
<? echo JV_ENTER_LAST_NAME
?>
</div>
<?
if ($require_company == 1 || $require_company == 2)
{
?>
<div>
<label for="F_Company_Name"><? echo ROW_COMPANY ?>
<?
if ($require_company == 2) { echo "*";
}
?></label>
<input name="F_Company_Name" type="text" value="<? echo $F_Company_Name ?>" maxlength="100">
</div>
<div id="divcmp" style="display:none">
    <? echo ENTER_COMPANY
    ?>
</div>
<?
}
if ($require_address_1 == 1 || $require_address_1 == 2)
{
?>
<div>
    <label for="F_Address_1"><? echo ADDRESS_1
        ?><?
        if ($require_address_1 == 2) { echo "*";
        }
        ?></label>
</div>
<input name="F_Address_1" type="text" value="<? echo $F_Address_1 ?>" maxlength="200">
<div id="divaddr1" style="display:none">
    <? echo JV_ENTER_ADDRESS_1
    ?>
</div>
<?
}
if ($require_address_2 == 1 || $require_address_2 == 2)
{
?>
<div>
    <label for="F_Address_2"><? echo ADDRESS_2
        ?><?
        if ($require_address_2 == 2) { echo "*";
        }
        ?></label>
    <input name="F_Address_2" type="text" value="<? echo $F_Address_2 ?>" maxlength="200">
</div>
<div id="divaddr2" style="display:none">
    <? echo JV_ENTER_ADDRESS_2
    ?>
</div>
<?
}
if ($require_city == 1 || $require_city == 2)
{
?>
<div>
    <label for="F_City"><? echo ROW_CITY
        ?><?
        if ($require_city == 2) { echo "*";
        }
        ?></label>
    <input name="F_City" type="text" value="<? echo $F_City ?>" maxlength="50">
</div>
<div id="divcity" style="display:none">
    <? echo JV_ENTER_CITY
    ?>
</div>
<?
}
if ($require_ste == 1 || $require_state == 2)
{
?>
<div>
    <label for="F_State"><? echo ROW_STATE
        ?><?
        if ($require_state == 2) { echo "*";
        }
        ?></label>
    <input name="F_State" type="text" value="<? echo $F_State ?>" maxlength="50">
</div>
<div id="divstate" style="display:none">
    <? echo JV_ENTER_STATE
    ?>
</div>
<?
}
if ($require_country == 1 || $require_country == 2)
{
?>
<div>
    <label><? echo ROW_COUNTRY
        ?><?
        if ($require_country == 2) { echo "*";
        }
        ?></label>
    <?
    if (!isset($_POST['F_Country'])) { $F_Country = '';
    } else { $F_Country = $_POST['F_Country'];
    } Country_Menu_Members($F_Country);
    ?>
</div>
<?
}
if ($require_zip == 1 || $require_zip == 2)
{
?>
<div>
    <label for="F_Zip"><? echo ZIP_CODE
        ?><?
        if ($require_zip == 2) { echo "*";
        }
        ?></label>
    <input name="F_Zip" type="text" value="<? echo $F_Zip ?>"  maxlength="25" />
</div>
<div id="divzip" style="display:none">
    <? echo JV_ENTER_ZIP
    ?>
</div>
<?
}
if ($require_phone == 1 || $require_phone == 2)
{
?>
<div>
    <label for="F_Phone"><? echo PHONE
        ?><?
        if ($require_phone == 2) { echo "*";
        }
        ?></label>
    <input name="F_Phone" type="text" value="<? echo $F_Phone ?>" maxlength="25" />
</div>
<div id="divphone" style="display:none">
    <? echo JV_ENTER_PHONE
    ?>
</div>
<?
}
if ($require_fax == 1 || $require_fax == 2)
{
?>
<div>
    <label for="F_Fax"><? echo FAX
        ?><?
        if ($require_fax == 2) { echo "*";
        }
        ?></label>
    <input name="F_Fax" type="text" value="<? echo $F_Fax ?>" maxlength="25" />
</div>
<div id="divfax" style="display:none">
    <? echo ENTER_FAX
    ?>
</div>
<?
}
if ($require_check_name == 1 || $require_check_name == 2)
{
?>
<div>
    <label for="F_Check_Name"><? echo CHECK_NAME
        ?><?
        if ($require_check_name == 2) { echo "*";
        }
        ?></label>
    <input name="F_Check_Name" type="text" value="<? echo $F_Check_Name ?>" maxlength="50" />
</div>
<div id="divcheckname" style="display:none">
    <? echo ENTER_CHECK_NAME
    ?>
</div>
<?
}
if ($show_payment == 1)
{
?>
<div>
    <label for="F_Payment_Preference"><? echo PAYMENT_PREFERENCE
        ?>*</label>
    <? Link_Payment_Preferences();?>
    <? } else {?>
    <input name="F_Payment_Preference" type="hidden" id="F_Payment_Preference" value="check" />
</div>
<?
}
if ($require_tax_id == 1 || $require_tax_id == 2)
{
?>
<div>
    <label for="F_Tax_ID"><? echo TAX_ID
        ?><?
        if ($require_tax_id == 2) { echo "*";
        }
        ?></label>
    <input name="F_Tax_ID" type="text" value="<? echo $F_Tax_ID ?>" maxlength="50" />
</div>
<div id="divtax" style="display:none">
    <? echo INVALID_TAX_ID
    ?>
</div>
<?
}
?> <h2><? echo USER_ACCOUNT_INFORMATION
?></h2>
<?
if ($require_username == 1 || $require_username == 2)
 {
 ?>
 <div>
 <label for="F_User_Name"><? echo USERNAME
 ?>
 <?
 if ($require_username == 2) { echo "*";
 }
 ?></label>
 <input name="F_User_Name" type="text" value="<? echo $F_User_Name ?>"  maxlength="20" />
</div>
<div id="divuname" style="display:none">
    <? echo JV_ENTER_USERNAME
    ?>
</div>
<?
}
if ($require_password == 1 || $require_password == 2)
{
?>
<div>
    <label for="F_Password"><? echo PASSWORD
        ?><?
        if ($require_password == 2) { echo "*";
        }
        ?></label>
    <input name="F_Password" type="password" value="<? echo $F_Password ?>"  maxlength="12">
</div>
<div id="divpw" style="display:none">
    <? echo JV_ENTER_PASSWORD
    ?>
</div>
<div>
    <label for="F_Password_2"><? echo CONFIRM_PASSWORD
        ?><?
        if ($require_password == 2) { echo "*";
        }
        ?></label>
    <input name="F_Password_2" type="password" id="password2" value="<? echo $F_Password_2 ?>" maxlength="12">
</div>
<div id="divcpw" style="display:none">
    <? echo JV_ENTER_CONFIRM_PASSWORD
    ?>
</div>
<?
}
?>
<div>
    <label for="F_Primary_Email"><? echo EMAIL_ADDRESS
        ?>*</label>
    <input name="F_Primary_Email" type="email" value="<? echo $F_Primary_Email ?>" maxlength="50">
</div>
<div id="divemail" style="display:none">
    <? echo JV_ENTER_EMAIL
    ?>
</div>
 <?
 if ($require_paypal_email == 1 || $require_paypal_email == 2)
 {
 ?>
 <div>
 <label for="F_Paypal_Email"><? echo PAYPAL_EMAIL
 ?><?
 if ($require_paypal_email == 2) { echo "*";
 }
 ?></label>
 <input name="F_Paypal_Email" type="text" value="<? echo $F_Paypal_Email ?>"  maxlength="50">
</div>
<div id="divpaypal" style="display:none">
    <? echo JV_ENTER_PAYPAL
    ?>
</div>
<?
}
if ($require_stormpay_email == 1 || $require_stormpay_email == 2)
{
?>
<div>
    <label for="F_Stormpay_Email"><? echo STORMPAY_EMAIL
        ?><?
        if ($require_stormpay_email == 2) { echo "*";
        }
        ?></label>
    <input name="F_Stormpay_Email" type="text" value="<? echo $F_Stormpay_Email ?>" maxlength="50">
</div>
<div id="divstormpay" style="display:none">
    <? echo JV_STORMPAY_EMAIL
    ?>
</div>
<?
}
if ($require_safepay_email == 1 || $require_safepay_email == 2)
{
?>
<div>
    <label for="F_Safepay_Email"><? echo SAFEPAY_EMAIL
        ?><?
        if ($require_stormpay_email == 2) { echo "*";
        }
        ?></label>
    <input name="F_Safepay_Email" type="text" value="<? echo $F_Safepay_Email ?>" maxlength="50">
</div>
<div id="divsafepay" style="display:none">
    <? echo JV_SAFEPAY_EMAIL
    ?>
</div>
<?
}
if ($require_moneybookers_email == 1 || $require_moneybookers_email == 2)
{
?>
<div>
    <label for="F_Moneybookers_Email"><? echo MONEYBOOKERS_EMAIL
        ?><?
        if ($require_moneybookers_email == 2) { echo "*";
        }
        ?></label>
    <input name="F_Moneybookers_Email" type="text" value="<? echo $F_Moneybookers_Email ?>" maxlength="50">
</div>
<div id="divmoneybookers" style="display:none">
    <? echo JV_MONEYBOOKERS_EMAIL
    ?>
</div>
<?
}
if ($require_alertpay_email == 1 || $require_alertpay_email == 2)
{
?>
<div>
    <label for="F_Alertpay_Email"><? echo ALERTPAY_EMAIL
        ?><?
        if ($require_alertpay_email == 2) { echo "*";
        }
        ?></label>
    <input name="F_Alertpay_Email" type="text" value="<? echo $F_Alertpay_Email ?>" maxlength="50">
</div>
<div id="divalertpay" style="display:none">
    <? echo JV_ALERTPAY_EMAIL
    ?>
</div>
<?
}
if ($require_egold_id == 1 || $require_egold_id == 2)
{
?>
<div>
    <label for="F_Egold_Id"><? echo EGOLD_ID
        ?><?
        if ($require_egold_id == 2) { echo "*";
        }
        ?></label>
    <input name="F_Egold_Id" type="text" value="<? echo $F_Egold_Id ?>" maxlength="50">
</div>
<div id="divegold" style="display:none">
    <? echo JV_EGOLD_ID
    ?>
</div>
<?
}
if ($require_bank_transfer == 1 || $require_bank_transfer == 2)
{
?>
<div>
    <label for="F_Bank_Transfer"><? echo BANK_TRANSFER
        ?><?
        if ($require_bank_transfer == 2) { echo "*";
        }
        ?></label>
    <textarea name="F_Bank_Transfer" cols="30" rows="3"><? echo $F_Bank_Transfer ?></textarea>
</div>
<div id="divbanktransfer" style="display:none">
    <? echo JV_BANK_TRANSFER
    ?>
</div>
<?
}
if ($require_sponsor == 1)
{
if (empty($_COOKIE['jrox']))
{
?>
<div>
    <label for="F_Sponsor"><? echo REFERRAL_CODE
        ?>*</label>
    <input name="F_Sponsor" type="text" value="<? echo $F_Sponsor ?>" maxlength="25">
</div>
<?
}
else
{
?>
<input name="F_Sponsor" type="hidden" id="F_Sponsor" value="<? echo $F_Sponsor ?>">
<div>
    <?
    }
    }
    else
    {
    ?>
    <input name="F_Sponsor" type="hidden" id="F_Sponsor" value="<? echo $F_Sponsor ?>">
</div>
<?
}
if ($require_website_url == 1 || $require_website_url == 2)
{
?>
<div>
    <label><? echo WEBSITE_URL
        ?><?
        if ($require_website_url == 2) { echo "*";
        }
        ?></label>
    <input name="F_Web_Site" type="text" value="<? echo $F_Web_Site ?>" maxlength="100">
</div>
<div id="divweb" style="display:none">
    <? echo INVALID_WEBSITE_ADDRESS
    ?>
</div>
<?
}
if ($enable_custom_1 == 1 || $enable_custom_1 == 2)
{
?>
<div>
    <label><? echo $custom_field_1
        ?><?
        if ($enable_custom_1 == 2) { echo "*";
        }
        ?></label>
    <input name="F_Custom_Value_1" type="text" value="<? echo $F_Custom_Value_1 ?>" maxlength="255">
</div>
<div id="divcf1" style="display:none">
    <? echo ROW_ENTER." ".$custom_field_1
    ?>
</div>
<?
}
if ($enable_custom_2 == 1 || $enable_custom_2 == 2)
{
?>
<div>
    <label><? echo $custom_field_2
        ?><?
        if ($enable_custom_2 == 2) { echo "*";
        }
        ?></label>
    <input name="F_Custom_Value_2" type="text" value="<? echo $F_Custom_Value_2 ?>" maxlength="255">
</div>
<div id="divcf2" style="display:none">
    <? echo ROW_ENTER." ".$custom_field_2
    ?>
</div>
<?
}
if ($enable_custom_3 == 1 || $enable_custom_3 == 2)
{
?>
<div>
    <label><? echo $custom_field_3
        ?><?
        if ($enable_custom_3 == 2) { echo "*";
        }
        ?></label>
    <input name="F_Custom_Value_3" type="text" value="<? echo $F_Custom_Value_3 ?>" maxlength="255">
</div>
<div id="divcf3" style="display:none">
    <? echo ROW_ENTER." ".$custom_field_3
    ?>
</div>
<?
}
if ($enable_custom_4 == 1 || $enable_custom_4 == 2)
{
?>
<div>
    <label><? echo $custom_field_4
        ?> <?
        if ($enable_custom_4 == 2) { echo "*";
        }
        ?></label>
    <input name="F_Custom_Value_4" type="text" value="<? echo $F_Custom_Value_4 ?>" maxlength="255">
</div>
<div id="divcf4" style="display:none">
    <? echo ROW_ENTER." ".$custom_field_4
    ?>
</div>
<?
}
if ($enable_custom_5 == 1 || $enable_custom_5 == 2)
{
?>
<div>
    <label><? echo $custom_field_5
        ?><?
        if ($enable_custom_5 == 2) { echo "*";
        }
        ?></label>
    <input name="F_Custom_Value_5" type="text" value="<? echo $F_Custom_Value_5 ?>" maxlength="255">
</div>
<div id="divcf5" style="display:none">
    <? echo ROW_ENTER." ".$custom_field_5
    ?>
</div>
<?
}
if ($enable_membership_payment == 2)
{
?>
<div>
    <? echo MEMBERSHIP_FULL_AMOUNT
    ?>
    <? echo $membership_full_amount
    ?>
    <div>
        <label><? echo SELECT_PAYMENT_TYPE
            ?></label>
    </div>
    <? List_Processor_Options();?>
<?
 }
 if ($enable_custom_html == 1 )
 {
 ?>
 <div>
 <? echo $custom_html ?>
 </div>
 <?
 }
 if ($require_tos == 1 || $require_tos == 2)
 {
 ?>
 <div>
 <input name="F_TOS" type="checkbox" id="F_TOS" value="1">
 <?
 if ($require_tos == 2) { echo "checked";
 }
 ?>
 </div>
 <div>
 <label><? echo ACCEPT_AND_WILL_FOLLOW ?></label><a href="<? echo                     MEMBERS_HOME_BASE_URL.HOME_BASE_AFFILIATE_DIRECTORY.'/index.php?req=tos&pid=$pid' ?>"           target="_blank" data-role="dialog"><? echo TERMS_OF_SERVICE
 ?></a>
 </div>
 <?
 }
 ?>
 </div>
<div>
<input type="submit" name="Submit" value="<? echo SUBMIT?>">
<input name="req" type="hidden" id="req" value="newaccount">
<input name="action" type="hidden" id="action" value="signup">
<input name="pid" type="hidden" id="pid" value="<? echo $pid ?>">
</div>
</form>
<?
}
?>

1 Ответ

1 голос
/ 05 февраля 2012

Похоже, что плохое форматирование HTML. Я думаю, что вы были бы в порядке, если бы вы реструктурировали блок if чуть выше проблемной области. Вот что я вижу:

...
if ($show_payment == 1)
{
?>
<div>
    <label>...</label>
    <? Link_Payment_Preferences();?>
    <? } else {?>
    <input name="F_Payment_Preference" type="hidden" id="F_Payment_Preference" value="check" />
</div>
<?
}
...

Вы видите проблему? Если $show_payment == 1, вы запускаете <div>, но не закрываете его. Если $show_payment != 1 (еще), то вы закрываете неоткрытое <div>

UPDATE

Таким образом, ответ - лучше отформатировать ваш код:

    ...
    if ($show_payment == 1)
    {
    ?>
    <div>
        <label>...</label>
        <? Link_Payment_Preferences();?>
    </div>
        <? } else {?>
    <div>
        <label>...</label>
        <input name="F_Payment_Preference" type="hidden" id="F_Payment_Preference" value="check" />
    </div>
    <?
    }
    ...

Видите разницу? Мы должны закрыть это div в любой ветви вашей логики. В противном случае, jQuery Mobile может привести к неожиданным результатам, так как DOM неправильно сконструирован.

Надеюсь, это поможет.

...